我正在摸着这个。
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
答案 0 :(得分:3)
答案 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+']')
它应该有用!