jQuery - 按其值查找单选按钮

时间:2012-08-29 09:44:49

标签: jquery

我正在摸着这个。

HTML:

<form>
      <input name="changes" type="radio" value="2012-05-18T16%3A53%3A00.000000000000%2B0100">
      <span>2012-05-18 16:53:00 +0100</span>
      <input name="changes" type="radio" value="2012-05-29T16%3A51%3A00.000000000000%2B0100">
      <span>2012-05-29 16:51:00 +0100</span>
      <input name="changes" type="radio" value="2012-05-31T17%3A30%3A00.000000000000%2B0100">
      <span>2012-05-31 17:30:00 +0100</span>
      <input name="changes" type="radio" value="2012-06-01T16%3A30%3A00.000000000000%2B0100">
      <input id="view-change" type="button" value="View">
</form>

在Chrome JavaScript控制台中:

var today = "2012-05-18T16%3A53%3A00.000000000000%2B0100"
$('input[value="2012-05-18T16%3A53%3A00.000000000000%2B0100"]') -> Finds object
$('input[value=today]') -> Nothing

咦?为什么我无法使用var选择输入?

PS。我已确认,jQuery.type(today) = string

4 个答案:

答案 0 :(得分:3)

尝试:

$('input[value="'+today+'"]')

请参阅jsfiddle

答案 1 :(得分:2)

你应该这样做:

$('input[value="' + today + '"]');

在php中你可以将vars插入一个字符串中,它们将被替换为它们的值,但不能用javascript代替。您需要将字符串部分与变量的内容连接起来以使其工作。现在你只是在寻找一个值为(字面意思)'今天'的输入,而不是var'今天'的内容。

答案 2 :(得分:0)

你想:

$('input[value=' + today + ']')

小心今天的字符串没有引号或括号。如果是的话,你将不得不逃避它们。

答案 3 :(得分:0)

var today = "2012-05-18T16%3A53%3A00.000000000000%2B0100"
$('input[value="2012-05-18T16%3A53%3A00.000000000000%2B0100"]')
$('input[value=today]')

在这里,你将'today'作为字符串用作变量,你应该给出类似

$('input[value='+today+']')

它应该有用!