Как динамически изменить выбранный переключатель с помощью jQuery - PullRequest
2 голосов
/ 29 марта 2012

Представьте, что у меня есть несколько рядов радиоблоков с 4 вариантами в каждом ... 1, 2, 3 и пустым значением.

<input name="addons_1[23]" type="radio" value="1" />
<input name="addons_1[23]" type="radio" value="2" />
<input name="addons_1[23]" type="radio" value="3" />
<input name="addons_1[23]" type="radio" value="" />

<input name="addons_1[32]" type="radio" value="1" />
<input name="addons_1[32]" type="radio" value="2" />
<input name="addons_1[32]" type="radio" value="3" />
<input name="addons_1[32]" type="radio" value="" />

<input name="addons_1[45]" type="radio" value="1" />
<input name="addons_1[45]" type="radio" value="2" />
<input name="addons_1[45]" type="radio" value="3" />
<input name="addons_1[45]" type="radio" value="" />

<input name="addons_1[46]" type="radio" value="1" />
<input name="addons_1[46]" type="radio" value="2" />
<input name="addons_1[46]" type="radio" value="3" />
<input name="addons_1[46]" type="radio" value="" />

<input name="addons_1_noneed" id="addons_1_noneed" type="checkbox" /><label for="addons_1_noneed">Addons not needed.</label>

В этом случае я хочу установить его так, чтобы при включении флажка ввода в конце (id = addons_1_noneed) я хотел, чтобы радиобоксы (все они) имели значениечетвертый проверен (где значение = "").И основываясь на коде, я не могу изменить его на непустое значение.

Итак, функция, которую я опробовал в функции щелчка, прикрепленной к элементу # addons_1_noneed, следующие функции:

$('#addons_1_noneed').click(function(){
   $("input[name='addons_1[]'] option[value='']").each(function({
      $(this).attr("selected","selected");
   });
});

Не работает.

$('#addons_1_noneed').click(function(){
   $("input[name='addons_1[]']").each(function({
      $(this).val('');
   });
});

Не сработало.

Чего мне не хватает?

Ответы [ 2 ]

4 голосов
/ 29 марта 2012
$(document).ready(function(){
    $('#addons_1_noneed').click(function(){
        if($(this).attr('checked')=="checked"){
            $('input:radio').attr('checked', true);
        }else{
            $('input:radio').attr('checked', false);
        }

    });
});

демо: http://jsfiddle.net/bNcRn/1/

0 голосов
/ 30 октября 2012
var notesStatusValue = '<c:out value="${tradeMarkWatchReportSearchDto.notesStatusValue}"/>' ;
        jq("input:radio[name=notes]").each(function(){
            if(jq(this).val() == notesStatusValue) {
                jq(this).attr('checked','checked');
            }
        });

<input type="radio" name="notes" id="notes" value="Y">
                    <spring:message code="tm.report.search.added" text="DEBUG: Added" />
                    <input type="radio" name="notes" id="notes" value="N">
                    <spring:message code="tm.report.search.none" text="DEBUG: None" />
                    <input type="radio" name="notes" id="notes" value="ignore">
                    <spring:message code="tm.report.search.ignore" text="DEBUG: Ignore" />
...