我在编辑表单中设置了很多是和否单选按钮,我想设置从ajax查询返回的值。在单选按钮中编辑新值后,需要将其保存在数据库中。我试过这个:
<div class="span2">
<div class="control-group checkForError">
<label class="control-label" for="power">Power On OK?
</label>
<div class="controls">
<label class="radio" >
<input type="radio" name="power" id="pyes" value="YES" />Yes
</label>
<label class="radio" >
<input type="radio" name="power" id="pno" value="NO" />No
</label>
</div>
</div>
</div>
<div class="span2">
<div class="control-group checkForError">
<label class="control-label" for="boot">System Boot OK?
</label>
<div class="controls">
<label class="radio" >
<input type="radio" name="boot" id="boyes" value="YES"/>Yes
</label>
<label class="radio" >
<input type="radio" name="boot" id="bono" value="NO" />No
</label>
</div>
</div>
</div>
这里我尝试使用passValues()
设置我从db获得的值function passValues(){
var power_value="YES";
var boot_value="NO";
if(power_value=="YES"){ $("#pyes").parent().addClass("checked"); }
else{ $("#pno").parent().addClass("checked"); }
$("#power").trigger('change');
if(boot_value=="YES"){ $("#cdyes").parent().addClass("checked"); }
else{ $("#cdno").parent().addClass("checked");}
$("#cddvd").trigger('change');
}
它设置单选按钮中的值,但是当我尝试使用getValues()访问相同的值时:值未定义
function getValues(){
alert("Power : "+ $('#power').val();) //Power : undefined
alert("Boot : "+ $('#boot').val();) //Boot : undefiend
}
为什么我会获得电源:未定义值?
答案 0 :(得分:2)
你试图按名称选择,jQuery中的“#”选择器按ID选择,这是选择器中最快的形式,因为这种不公平。您不能拥有重复的ID,但可以使用重复的名称(这是标准的单选按钮组练习)。
出于您的目的,我会使用复杂的选择器,例如
$('input[name=boot]:checked').val();
此外,您的passValues函数应使用:
$("#pyes").prop( "checked", true );
这是设置单选按钮的推荐方法。