我會盡量使這個明智的... 使用jQuery multiselect複選框插件。選項是通過AJAX調用動態添加的。當用戶選擇一個項目/選項並關閉選擇框時,該項目將與「刪除」圖標一起添加到UI中。該圖標中動態添加了ID,以便用戶可以從UI中刪除項目,我也希望從關閉的選擇框中取消選中該項目。添加的ID是所選選項的「值」,以便我可以將UI上的項目與選擇框中的選項相關聯。當價值很短時(少於2個字),這很有用。但是,如果該值大於2個單詞,則會出現錯誤:「無法識別的表達式:複選框[值= xxxxx]」。這個錯誤是從jQuery的拋出:jQuery MultiSelect通過索引取消選中,而不是通過val()
Sizzle.error = function(msg) {
throw new Error("Syntax error, unrecognized expression: " + msg);
};
比較實際價值的「味精」,它出現在jQuery是後2個字截斷ID,因此不能匹配到任何知道選擇框價值。
好的,所以我決定使用所選項目的「索引」,並將其添加到「刪除」圖標(以及一個標識符),將其與選擇框中的選定選項相關聯。 。我剝標識,只是使用索引我的問題是,我無法取消的事情我已經試過這樣:
$('select#'+cOption).multiselect("widget").find(":checkbox[index="+delVal+"]").each(function() {
this.click(); // Remove check from deleted option
沒有錯誤,只是沒有取消選中
我會發布整個事情,但它是相當大,有點複雜。基本上我只是想通過索引取消選中一個選項而不是值。
是什麼'delVal'?該指數或價值? –
正如前面提到的......「我將標識符去掉,只用索引」。它是一個從0到4的整數(最多5個選擇)。 – user1415445