【问题标题】:Jquery select all unchecked radio with text == FOOJquery选择所有未选中的带有文本== FOO的收音机
【发布时间】:2025-12-13 02:15:01
【问题描述】:

我有一个小提琴http://jsfiddle.net/rh0dium/kRy2N/3/,我试图在其中创建一个“标记所有未回答的......”作为 FOO。但我在最后两部分遇到了麻烦。第一个是查找所有标签的选择器,其中包含尚未回答的收音机。我尝试了各种组合:

var inputs = $('input:radio:not(:checked):contains("' + value + '")');

但他们似乎都没有抓住它。此外,一旦我得到它们,我如何确保它

  1. 尚未回答。
  2. 确保对于给定的标签,您只能得到一个答案。
  3. 将其重新添加到列表中,这样如果用户改变主意,我们可以将其重置。这就是answers 的目的。

我看错了吗?或者一些 jquery 大师可以帮助我。

更新

http://jsfiddle.net/rh0dium/kRy2N/4/

谢谢

【问题讨论】:

  • 改用$('input:radio:not(:checked)[value*="' + value + '"]');
  • Ricardo 您对这个问题有正确的答案。请将此作为答案发布。
  • 对,添加了答案。

标签: jquery jquery-selectors


【解决方案1】:

以下代码将获取所有未选中且值包含valueradio

$('input:radio:not(:checked)[value*="' + value + '"]');

【讨论】:

  • 对于其他所有人 - 里卡多几乎立刻就有了答案。
【解决方案2】:

试试这个

$(document).ready(function() {
    var answers = [];
    $("#multi_choice_change").change(function() {
        var value = $("select#multi_choice_change option:selected").val();
        console.log("Changed to " + value);
        //Remove checked from unmatched radio buttons
        $('input:radio[value!="'+value+'"]').prop('checked',false);
        //add checked to matched radio buttons 
        $('input:radio[value="'+value+'"]').prop('checked','checked');
         })
});

【讨论】:

  • 这实际上改变了我想要做的事情。我希望它的范围非常狭窄,因为这会改变所有答案。谢谢!
  • 这解决了您的问题吗?如果是这样,请批准此答案:) 否则请说明您的要求。