jQuery - 通过值查找单选按钮

3

I'm scratching my head over this one.

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


哇 - 我的 jQuery 真的很生疏!新手错误。获胜者是 khomyakoshka,因为他发布了第一个实际有效的答案(请注意额外的引号)。 - rwb
4个回答

3

尝试:

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

请参考 jsfiddle

2
你应该这样做:
$('input[value="' + today + '"]');

在php中,您可以将变量插入字符串中,它们将被替换为它们的值,但在javascript中不行。您需要将字符串部分与变量内容连接起来才能使其正常工作。现在,您只是在寻找一个值为(字面意思上的)“today”的输入,而不是变量“today”的内容。


0

你想要:

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

注意今天的字符串没有引号或括号。如果有,你需要对它们进行转义。


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+']')

应该能工作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接