У меня есть три переключателя с одинаковым именем и разными значениями. Когда я нажимаю третий переключатель, флажок и текстовое поле будут отключены. Но когда я выбираю другие два переключателя, они должны отображаться. Мне нужна помощь в JQuery.Спасибо за заранее ....
<form name="checkuserradio">
<input type="radio" value="1" name="userradiobtn" id="userradiobtn"/>
<input type="radio" value="2" name="userradiobtn" id="userradiobtn"/>
<input type="radio" value="3" name="userradiobtn" id="userradiobtn"/>
<input type="checkbox" value="4" name="chkbox" />
<input type="text" name="usertxtbox" id="usertxtbox" />
</form>
name
s могут быть идентичными, ноid
s должны быть уникальными.Ответы:
HTML
Javascript
источник
i
передаетсяfunction(i)
через JQueryeach()
.i==2
используется для доступа к третьей радиокнопке. Обратитесь к моим кодам.<span id="radiobutt">
- Двоюродный брат RadioHead?На самом деле это не обязательно, но небольшое улучшение кода okw, которое ускорит вызов функции (поскольку вы перемещаете условное выражение за пределы вызова функции).
источник
Эта ветка устарела, но информацию следует обновить.
http://api.jquery.com/attr/
источник
removeProp
свойство disabled. Документы jQuery говорят, чтоprop("disabled", false);
вместо этого нужно использовать . api.jquery.com/prop/#prop-propertyName-valueЯ не уверен, почему некоторые из этих решений используют .each () - в этом нет необходимости.
Вот рабочий код, который отключается, если установлен третий флажок, в противном случае удаляет отключенный атрибут.
Примечание: я добавил идентификатор в флажок. Также помните, что идентификаторы должны быть уникальными в вашем документе, поэтому либо удалите идентификаторы на радиокнопках, либо сделайте их уникальными.
источник
each()
использовался, потому что мы хотим получить третью радиокнопку. Мы$("input[type=radio]:eq(2)")
тоже можем использовать . Ваш метод идентифицирует переключатель по значению, что, конечно, тоже верно. :)Я знаю, что отвечать на старый вопрос - плохая привычка, но я даю этот ответ людям, которые потом увидят этот вопрос.
Лучший способ изменить состояние в JQuery сейчас - через
Пожалуйста, проверьте эту ссылку для полной иллюстрации. Отключить / включить ввод с помощью jQuery?
источник
Я бы сделал это немного иначе
Атрибут класса уведомления
Таким образом, если вам нужно добавить дополнительные переключатели, вам не нужно беспокоиться об изменении javascript
источник
Я предполагаю, что вы, вероятно, захотите привязать событие «щелчок» к нескольким переключателям, прочитать значение переключенного переключателя и, в зависимости от значения, отключить / включить флажок или текстовое поле.
источник
Извините за опоздание на вечеринку, но я вижу здесь некоторые возможности для улучшения. Не в отношении «отключить текстовое поле», а в отношении выбора радионаблюдения и упрощения кода, что делает его более надежным для будущих изменений.
Прежде всего, вы не должны использовать .each () и использовать индекс, чтобы указывать на конкретный переключатель. Если вы работаете с динамическим набором переключателей или если впоследствии вы добавляете или удаляете некоторые переключатели, то ваш код будет реагировать на неправильную кнопку!
Затем, но это, вероятно, не тот случай, когда был создан OP, я предпочитаю использовать .on ('click', function () {...}) вместо click ... http: //api.jquery. com / on /
Наконец, но не в последнюю очередь, код можно было бы сделать более простым и перспективным, выбрав переключатель на основе его имени (но это уже появилось в сообщении).
Итак, я получил следующий код.
HTML (на основе кода okw)
JS-код
источник
MVC 4 @ Html.CheckBox Обычно люди хотят действовать при установке и снятии флажка mvc.
вы можете определить идентификатор для элементов управления, которые хотите изменить, и в javascript выполните следующие действия
вы также можете изменить свойство, например
источник
Показать фрагмент кода
источник
получить значение радиокнопок и совпадает с каждым, если оно равно 3, то отключено
checkbox and textbox
.источник