2

値0または1(それぞれいいえ/はい)を取得するデータベースがあります。
ラジオボタンをオン/オフにして、jQueryMobileでその状態を確認するにはどうすればよいですか。私のコードは以下の通りです

HTMLコード

<label>Are you Mad? </label>   
 <fieldset data-role="controlgroup" data-type="horizontal">     
 <input data-mini="true" type="radio" name="rdIsBP" id="rdIsBPYes" value="" />
 <label for="rdIsBPYes">YES</label>
 <input data-mini="true"  type="radio" name="rdIsBP" id="rdIsBPNo" value="choice-1"  />
 <label for="rdIsBPNo">NO</label>
</fieldset>

JavaScriptコード

function  CheckRadioStateYNoo(val,rdButton){      
      try{
      var radios = document.getElementsByName(rdButton);
      for( i = 0; i < radios.length; i++ ) {
       if(i==0)
       {
          if(val==1) 
          {
              //radios[i].checked=true;
              $("#" + rdButton + "Yes").attr ("checked", "checked");
              alert('rdButton' +   radios[i].checked);               
          }          
      }
       else{
           if(val==1) 
           {
               radios[i].checked=true;
               alert('rdButton' +  radios[i].checked);               
           }
       }
      }
      }
      catch(e){alert(e);}
    }
4

3 に答える 3

4
$('#rdIsBPYes').prop('checked', value);
$('#rdIsBPNo').prop('checked', !value);

これは、jQuery1.6以降でこれを行うための推奨される方法です。

1.6より古いjQueryを使用している場合は、次のことができます。

if (value) {
   $('#rdIsBPYes').attr('checked','checked');
   $('#rdIsBPNo').removeAttr('checked');
} else {
   $('#rdIsBPNo').attr('checked','checked');
   $('#rdIsBPYes').removeAttr('checked');
}

更新:構文を誤解しましたが.prop()、修正されました

于 2012-09-22T10:40:14.460 に答える
0

私は多くの実験を試みましたが、このコードは私のために機能しています
valは、unchceckの場合は0、dbでチェックインする場合は1にすることができます。

htmlコード

<label> Have you had surgery within the last 12 months?</label> 
            <fieldset data-role="controlgroup" data-type="horizontal">

            <input data-mini="true" type="radio" name="rdIsSurgery" id="rdIsSurgeryYes" value="choice-1" />
            <label for="rdIsSurgeryYes">YES</label>


            <input data-mini="true"  type="radio" name="rdIsSurgery" id="rdIsSurgeryNo" value="choice-4"  />
            <label for="rdIsSurgeryNo">NO</label>
    </fieldset>  

jsコード

 function  CheckRadioStateYN(val,rdButton){      
     try{
             if (val==1){               
                 $('#' + rdButton + 'Yes').attr('checked', true).checkboxradio('refresh');
                 $('#' + rdButton + 'No').removeAttr('checked');          
                     }
         else{
         $('#' + rdButton + 'No').attr('checked', true).checkboxradio('refresh');
         $('#' + rdButton + 'Yes').removeAttr('checked');

         }        
        }
          catch(e)
          {alert(e);}
        }
于 2012-09-22T11:49:33.000 に答える
0
    <label>Are you Mad? </label>
    <fieldset data-role="controlgroup" data-type="horizontal">
        <input data-mini="true" type="radio" name="rdIsBP" class="fakeRadio" value="yes"  checked />
        <label for="rdIsBPYes">YES</label>
        <input data-mini="true"  type="radio" name="rdIsBP" class="fakeRadio" value="no"  />
        <label for="rdIsBPNo">NO</label>
    </fieldset>

jQuery

$(".fakeRadio").click(function(){
    $(".fakeRadio").prop( "checked", false );
    $(this).prop( "checked", true );

    /* If you need to grab the value */
    // var val = $(this).attr("value") ;  
    // alert(val);   
});
于 2014-09-26T08:53:47.853 に答える