jQuery为什么我设置后无法更改单选按钮值

时间:2012-04-02 18:59:52

标签: jquery

我的脚本中出现了问题,

一旦我们设置了一个单选按钮,我们就不能再改变它了:

$("#divAddNewNote").click(function() {
    if ($("#divAddNewNote textarea").length == 0) {
        $("#divAddNewNote div").css("display", "none");
        box += "<div class=\"noteBottomBar\">";
        box += "    <div class=\"radioPrivatePublic\">";
        box += "        <input type=\"radio\" id=\"radio1\" name=\"groupPrivate\" value=\"private\" /><label for=\"radio1\">Private</label>";
        box += "        <input type=\"radio\" id=\"radio2\" name=\"groupPrivate\" value=\"public\" /><label for=\"radio2\">Public</label>";
        box += "    </div>";
        box += "    <button onclick=\"ajaxSaveNewStatus(10886);\">Post</button>";
        box += "</div>";
        $("#divAddNewNote").append(box);

        return false;
    } else {
        return false;
    }

});

这是我的javascript代码中的问题,但我找不到它

3 个答案:

答案 0 :(得分:2)

问题是您的单选按钮位于#divAddNewNote范围内。 #divAddNewNote的点击处理程序返回false。在jquery事件处理程序中返回false有2个函数。它相当于event.preventDefaultevent.stopPropagation。这里重要的是preventDefault。这导致您尝试更改单选按钮的值以取消(“阻止”)。

答案 1 :(得分:1)

尝试使用以下内容:

$('input:radio[name="myradiobutton"]:checked').prop('checked',false);

答案 2 :(得分:1)

$("#radio1").checked = true不是以编程方式检查单选按钮的正确方法。

使用此$("#radio1").prop('checked', true)