У меня есть несколько входов типа = «радио»:JQuery изменения не срабатывает, когда входы радио щелкают программным
<div style="margin:10px;"><input type="radio" name="cei" id="clike" /><label style="margin:0 10px" for="clike">like</label></div>
<div style="margin:10px;"><input type="radio" name="cei" id="ccomment" /><label style="margin:0 10px" for="ccomment">like</label></div>
<div style="margin:10px;"><input type="radio" name="cei" id="clink" /><label style="margin:0 10px" for="clink">like</label></div>
и функцию изменения этого делать некоторые вещи, когда каждый из них проверяется:
$('input:radio[name="cei"]').change(
function(){
if ($(this).is(':checked') && $(this).next().html() == 'link')
$('#clink-val').removeAttr('disabled');else $('#clink-val').attr('disabled','disabled');
if ($(this).is(':checked') && $(this).next().html() == 'Multiple Choices')
$(this).closest('fieldset').find('.multiplechoices-item').slideDown(); else $(this).closest('fieldset').find('.multiplechoices-item').slideUp();
});
До настоящего момента код работает отлично. теперь, поскольку переключатели выше генерируются с помощью кода на стороне сервера и могут быть только 2 радио для пользователя и 5 из них для другого пользователя. поэтому я хочу, чтобы первое радио было проверено. Я пробовал:
$('input:radio[name="cei"]').first().attr('checked','checked');
и
$('input:radio[name="cei"]').first().click();
в то время как оба вышеуказанных кодов устанавливает проверяемый атрибут первого радио, но ни в одной из них $('input:radio[name="cei"]').change()
не срабатывает.
Вы должны стрелять "изменить" событие, так как это то, что вы обязаны. – dan08
$ ('input: radio [name = "cei"]'). First(). Click(); приведет к изменению. Он отлично работает для меня. проверьте это https://jsfiddle.net/atg5m6ym/6510/ –
@ dan08 Итак, я должен установить проверочное значение, а также запустить изменение? почему изменение не срабатывает, пока измененный статус изменяется? –