2017-04-27 2 views
-2

我知道這個問題有大量的答案,所有的答案都是一樣的。我想將一個變量傳遞給選擇器。例如將變量傳遞給選擇器

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

比方說

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

這遠遠代碼做的不錯。項目變量沒有問題。但在選擇器而不是獲得size_M它獲得項目字符串本身。

enter image description here

+0

您可能需要furt她用引號分隔屬性值,如下所示:'$(「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沒有引號也是字母數字和_正常工作。只有當有特殊字符時,纔會失敗 –