3

我正在为这个挠头。

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

嗯?为什么我不能使用 a 选择输入var

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

4

4 回答 4

3

Try:

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

See jsfiddle

于 2012-08-29T09:47:52.700 回答
2

你应该这样做:

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

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

于 2012-08-29T09:46:48.010 回答
0

你要:

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

注意今天的字符串没有引号或括号。如果是这样,您将不得不逃脱它们。

于 2012-08-29T09:46:53.230 回答
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+']')

它应该工作!

于 2012-08-29T09:51:34.850 回答