使用JQuery(ASP.NET MVC)设置单选按钮的值

使用JQuery(ASP.NET MVC)设置单选按钮的值,jquery,asp.net-mvc,Jquery,Asp.net Mvc,在所有列表中,我有两个(4)单选按钮{value=“0”、“1”、“2”、“3”}的“列表”。 第一个列表需要驱动第二个列表(可能出现多次)。因此,如果在第一个列表中选择了一个选项,则在第二个列表中选择相同的选项。这听起来很奇怪,但它是有目的的。第一个列表更像是“全选”类型的列表,第二个列表是单个选择列表 我通过JQuery获得了“selectall”列表的值: $("#selectalllist").change(function() { var str = $('input[name

在所有列表中,我有两个(4)单选按钮{value=“0”、“1”、“2”、“3”}的“列表”。 第一个列表需要驱动第二个列表(可能出现多次)。因此,如果在第一个列表中选择了一个选项,则在第二个列表中选择相同的选项。这听起来很奇怪,但它是有目的的。第一个列表更像是“全选”类型的列表,第二个列表是单个选择列表

我通过JQuery获得了“selectall”列表的值:

$("#selectalllist").change(function() {
    var str = $('input[name=selectall]:checked').val();
    $(".radiolist").attr('checked', str);   //This is my thinking
});
当前选择的值存储在str变量中,这似乎是正确的(我使用alert告诉我存储了什么,它显示了我期望的内容)。我只需要设置下一组列表的值。我认为代码的第二行将检查值$(“.radiolist”)设置为存储值,但它总是将值设置为最后一个条目(value=“3”)

我想知道在.attr(“”,str)调用中是否有错误的属性?有什么想法吗

应要求:

(选择所有按钮)

当前
未来
CurrentAll
未来
(列表按钮)

C
F
加利福尼亚州
FA

您需要选择该选项

$("#selectall").change(function() {
    var str = $('#selectall:checked').val();
    $(".radiolist[value='" + str + "']").attr("checked", "checked");
});

要做到这一点,您需要一种稍微不同的方法,根据您发布的html:

$("input[name=selectall]").change(function() {
  var str = $('input[name=selectall]:checked').val();
  $(".radiolist[value='" + str + "']").attr("checked", true);
});
这里发生了一些变化:

  • 输入有一个名称,而不是ID
    selectall
    ,因此需要根据该名称进行选择
  • attr(“checked”,true)
    可以是真/假(而不是值),在j?查询内部有跨浏览器检查来处理此问题
  • 对于设置,您还需要抓取所需的单选按钮并进行检查。事实上,他们在同一组将使浏览器取消选中之前的选择

您能粘贴单选按钮的html吗?我想这与名字有关。输入已经添加到帖子中。我的示例不起作用吗?我想这样可以,但它仍然没有发布到第二个列表中。这是有道理的,它会这样工作…一对夫妇的同事开发人员已经看过它,并同意您的解决方案,但它不工作在我的网页上。我已经和它斗争了几个小时,试图让它去没有用…这是有效的!谢谢你的信息!我将能够继续使用它,我想这是对jQuery工作原理的一点误解!
$("#selectall").change(function() {
    var str = $('#selectall:checked').val();
    $(".radiolist[value='" + str + "']").attr("checked", "checked");
});
$("input[name=selectall]").change(function() {
  var str = $('input[name=selectall]:checked').val();
  $(".radiolist[value='" + str + "']").attr("checked", true);
});