2012-03-29 13 views
2

ラジオボックスの行がいくつかあり、それぞれ4つのオプション、1,2,3、および空白の値があるとします。この場合jQueryを使用して選択したラジオボタンを動的に変更する方法

<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)での入力チェックボックスがONにチェックされたとき、私はradioboxes(それらのすべてを)持っていると思いますように、第四のahveするためにそれを設定したいです1つはチェックされています(value = "")。コードに基づいて、私はそれを空でない値に変更することはできません。

だから私は#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(''); 
    }); 
}); 

どちらも機能しませんでした。

私には何が欠けていますか?

+1

はconsole.log($(この))、およびそこから行きます。セレクタが有効であることを確認します。 –

+0

まあ... console.logは何を吐き出したのですか? –

+0

私はonclick関数をそれ自身の別の関数に分けました。そして今、私は運が全くありません。関数は実行されますが、関数が "未定義"であるということは絶対に意味がありません。関数にエラーがあっても実行を開始しないのでしょうか?私は注意を払う( "私!");関数が呼び出されているかどうかをテストする前に、関数の始めにセレクタが入ります。それはうまく動作します。コンソールのログは発生しません.. WTF !! ?? – jeffkee

答えて

3
$(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
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" /> 
+1

何か説明してください –

関連する問題