Jquery 按值选择不接受存储在变量中的值

Jquery selection by value not accepting the value stored in a variable

我在变量中存储了一个值。现在我想要 select 其值与存储值匹配的元素。这是代码

HTML

<input type='radio' name='abc' value='a'>A<br>
<input type='radio' name='abc' value='b'>B<br>
<input type='radio' name='abc' value='c'>C<br>
<button>click me!</button>

JS 不工作

$('button').click(function(){
  var x="a";
  $('input[value=x]').attr('checked','true');
})

有效的 JS

$('button').click(function(){
    $('input[value='a']').attr('checked','true');
})

谁能指出问题所在?

这是codepen中的代码 http://codepen.io/anon/pen/doEPLG

$('input[value=x]') 

在这一行中,'x' 被解释为值而不是变量 x 如果你想解释变量 x 的值,你可以这样做:

$("input[value=" + x + "]")

现在x应该被认为是变量x。检查这个它可能会解决问题

你能试试这个吗?

$('button').click(function(){
var x='"a"';
$('input[value=' + x + ']').attr('checked','true');
})

您正在尝试 select 值为 'x' 的输入对象,而不是 select 包含变量 x 中值的对象。这应该更正它。