2017-04-27 8 views
-2

私はこの質問に答えのトンがあることを知っていて、すべての答えは同じです。セレクタに変数を渡したいと思います。例えばセレクタに変数を渡す

var item = 'size_{{$item->size}}'; 
$("input[name="+item+"]").change(function() { 
    console.log('got it'); 
}); 

はのコードがOKやっている

{{$item->size}} == M // So the var item ='size_M' 

これまでのところを言ってみましょう。項目変数に問題はありません。しかし、セレクタではなく、size_Mを取得する代わりに、項目文字列自体を取得しています。

enter image description here

+0

彼女は次のように属性値を引用符で区切ります: '$(" input [name = '"+ item +"'] ")'。これは、値に英数字以外の文字(アンダースコア)が含まれているためです。 – ne1410s

+0

@ ne1410s私もそれを試しましたが、同じ結果を返します –

+0

@ ne1410sあなたは同じドキュメントを提供できますか?原因は公式の文書ではありません –

答えて

1

実際に私は、size_M、size_xxlのような大きさの多くがあるかもしれませんこれは、動的にする必要がありsize_Sので、その場合の

であなたが必要とするすべては

ですhttps://api.jquery.com/attribute-starts-with-selector/

$("input[name^='size_']").change(function() { 
    console.log('got it'); 
}); 
+0

彼らは引用符を必要としません*それ自体*;英数字以外の文字がある場所のみ。 – ne1410s

+0

https://jsfiddle.net/mLfu79mw/ –

+1

@ RokoC.Buljanあなたは正しいですか?ちょうどそれをチェックした。 #ne1410s引用符もなく、英数字と_うまく動作します。特別な文字がある場合のみ、失敗します –