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

は??を使用して入力を選択できないのはなぜvarですか?

PS。確認しました、jQuery.type(today)=string

4

4 に答える 4

3

試す:

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

jsfiddleを参照してください

于 2012-08-29T09:47:52.700 に答える
2

あなたはこのようにそれをするべきです:

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

PHPでは、varsを文字列に挿入するだけで、それらの値に置き換えられますが、javascriptでは置き換えられません。文字列部分を変数の内容と連結して機能させる必要があります。これで、var'today'の内容ではなく、(文字通り)'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 に答える