如何通过.val()设置输入的无线电检查?

时间:2013-07-04 01:15:41

标签: javascript jquery html arrays input

我想按他的价值选择一个输入。 问题是我得到了4个无线电输入 当用户单击“下一步”时,它会在AnsW数组中保存该答案的值。 当用户点击“返回”时,我想要检查输入单选按钮,其中包含我在AnsW数组中的值,这样用户就可以知道他选择了什么并将其答案更改为其他内容。

html代码:

<ul>
            <li class="li0">
                <input type="radio" value="ch1" name="choice" id="li0"/>
                <label for="li0"></label>
            </li>
            <li class="li1">
                <input type="radio" value="ch2" name="choice" id="li1"/>
                <label for="li1"></label>
            </li>
            <li class="li2">
                <input type="radio" value="ch3" name="choice" id="li2"/>
                <label for="li2"></label>
            </li>
            <li class="li3">
                <input type="radio" value="ch4" name="choice" id="li3"/>
                <label for="li3"></label>
            </li>
        </ul>

我的代码是:

function go_back(){
    $("#back").bind("click",function(){
        qNum--;
        showQuestion(qNum);
        if(AnsW.length === 0){
            calcAnswers--;
        }
        alert(AnsW[qNum]);
        tempAns = AnsW[qNum];//user last answer which is false i need this to make the radio button point to that answer
        //alert( $("input[value='tempAns']"));
        $("input").val(tempAns).attr('checked', true);
        alert(tempAns);
        //alert(tempAns);
        AnsW.splice(-1,1);//delete the false answer from the array i need this to make sure that the answer is deleted and there wont be overload of wrong answers
        //alert(deleteAns);
        if(qNum === 0){
            $("#back").css({"visibility":"hidden"})
        }
    });
}

1 个答案:

答案 0 :(得分:4)

jQuery selectors允许您根据属性找到元素,完全匹配示例:

 $("element.class[attribute=value]")

检查选择器中的value属性

$("input[value="+tempAns+"]").prop('checked', true)