我有一個非常簡單的選擇框內比預期「這個」返回不同的對象:JS功能
<select multiple="multiple" name="Condiments">
<option selected="selected">Mustard</option>
<option selected="selected">Ketchup</option>
</select>
,我使用jQuery UI的Widget多選,以使它有點spiffier:
https://github.com/ehynds/jquery-ui-multiselect-widget
具體來說,我試圖設置其中一個選項動態當小部件初始化。當我這樣做:
$("select").multiselect({
selectedText: function(numChecked, numTotal, checkedItems){
return "Foo";
}
});
它正確地設置selectedText選項「富」,但是當我這樣做:
$("select").multiselect({
selectedText: function(numChecked, numTotal, checkedItems){
return $(this).attr("name");
}
});
它認爲$(這)是從別的地方的跨度DOM。
如果頁面上只有一個選擇,這將是很好,但有多個我需要一種方法來設置每個選項。有從$(this)到當前select元素的顯而易見的方法嗎?或者是解決相同的一般問題的明顯替代方案?
小提琴請 –
由於$(「選擇」0是一個數組在多個選擇的情況下,$(this )將指向全局窗口對象。使用類或id來指定所需的選擇 – mozillanerd