如何设置和获取jquery按钮的值

时间:2015-02-15 21:59:20

标签: jquery

我在编辑表单中设置了很多是和否单选按钮,我想设置从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
    } 

为什么我会获得电源:未定义值?

1 个答案:

答案 0 :(得分:2)

你试图按名称选择,jQuery中的“#”选择器按ID选择,这是选择器中最快的形式,因为这种不公平。您不能拥有重复的ID,但可以使用重复的名称(这是标准的单选按钮组练习)。

出于您的目的,我会使用复杂的选择器,例如

$('input[name=boot]:checked').val();

此外,您的passValues函数应使用:

$("#pyes").prop( "checked", true );

这是设置单选按钮的推荐方法。