JQuery:根据if设置组中的单选按钮

时间:2011-05-02 15:26:01

标签: jquery

这应该很简单,我只知道它应该。

基本上,我在$ .ajax调用的错误函数中有以下代码。呼叫本身有效。当radiobutton组的值从true变为false或反之时,调用发生。如果错误被击中,我想将其重置为先前的值。我有什么问题?

if ($("input[name='enableEmail']:checked").val() == "true") {
                $("input[name='enableEmail'][value='false']").attr("checked", true);
            }
            else {
                $("input[name='enableEmail'][value='true']").attr("checked", true);                    
            }

编辑显然问题不够明确。我在一组中有两个单选按钮:开和关。如果用户从Off切换为On,则会发生$ .ajax调用。如果$ .ajax调用中发生错误,我想将单选按钮设置为Off。如果用户将On切换为Off,我希望它在出现错误时返回On

4 个答案:

答案 0 :(得分:0)

当ajax请求失败时调用ajax错误。你确定会发生这样的错误吗?逻辑上没有一些错误会返回不需要的结果吗?

似乎为我工作...... http://jsfiddle.net/gaby/zGvRR/

答案 1 :(得分:0)

我假设你在单选按钮的输入标签上有runat="server"。删除runat代码并尝试。它应该工作。

答案 2 :(得分:0)

首先检查您是否使用jQuery UI并且需要调用.buttonset(“refresh”)。 : - )

HTML和其他上下文代码将是一个很大的帮助。缺乏这个,您是否尝试过使用firebug或类似的东西通过输出到控制台对值和jQuery选择器进行一些健全性检查?

if ($("input[name='enableEmail']:checked").val() == "true") {
    console.log("Got here 1: " + $("input[name='enableEmail'][value='false']").attr("checked"));
    $("input[name='enableEmail'][value='false']").attr("checked", true);
}
else {
    console.log("Got here 2: " + $("input[name='enableEmail'][value='true']").attr("checked"));
    $("input[name='enableEmail'][value='true']").attr("checked", true);                    
}

答案 3 :(得分:0)

.attr("checked", "checked");

试试吧。它不是布尔值。