Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态选中单选按钮,基于';价值';属性,不检查_Javascript_Html_Forms_Radio Button - Fatal编程技术网

Javascript 动态选中单选按钮,基于';价值';属性,不检查

Javascript 动态选中单选按钮,基于';价值';属性,不检查,javascript,html,forms,radio-button,Javascript,Html,Forms,Radio Button,正在尝试获取一个表单,以加载以前已检查的收音机(在新加载时)的页面 该页面的提交内容作为php变量保存,我可以将其传递到javascript中,其余内容应该很简单,但它对我不起作用 我的代码: <div class="question"> <label for="sv_213">Question?</label> <input class="radio"

正在尝试获取一个表单,以加载以前已检查的收音机(在新加载时)的页面

该页面的提交内容作为php变量保存,我可以将其传递到javascript中,其余内容应该很简单,但它对我不起作用

我的代码:

<div class="question">
            <label for="sv_213">Question?</label> 
            <input 
                    class="radio"
                    type="radio" 
                    value="Yes" 
                    name="sv_213" 
                />Yes
            <input 
                    class="radio"
                    type="radio" 
                    value="No" 
                    name="sv_213"
                />No

        </div>
在上面的js中

var $213 = <dynamically generated content>
var$213=
使其设置为与选中单选按钮的值相等

这是一个js小提琴,它不工作:

非常感谢你的帮助

顺便说一句,我的代码是基于这一点,之前提出的问题:

您需要在值“是”周围加引号,因为这是一个字符串,而不是布尔值或数字

var $213 = "Yes";
此外,还需要使用+将变量添加到选择器中,如下所示:

$("input[name=sv_213][value="+$213+"]").attr('checked', true);
更新小提琴,工作:

完整js代码:

$(function() {
    var $213 = "Yes";
    $("input[name=sv_213][value="+$213+"]").attr('checked', true);

    });
更新:##自jQuery 1.6以来,还可以使用带有布尔值的.prop方法(这应该是首选方法):
在我的例子中,.attr()方法不适用于动态选择单选按钮,而.prop()方法适用于动态选择单选按钮。

在D3中,如果有人想知道的话

d3.selectAll("input[name='sv_213'][value=" + $213 + "]").property("checked", true);

这不会改变我在页面或JSFIDLE上的结果:
$("input[name=sv_213][value="+$213+"]").prop('checked', true);
d3.selectAll("input[name='sv_213'][value=" + $213 + "]").property("checked", true);