jQuery MultiSelect按索引取消选中,而不是按val()取消选中

jQuery MultiSelect按索引取消选中,而不是按val()取消选中,jquery,multi-select,Jquery,Multi Select,我会尽量让这件事合理化。。。 使用jquerymultiselect复选框插件。通过AJAX调用动态添加选项。当用户选择一个项目/选项并关闭选择框时,该项目将与一个“删除”图标一起添加到UI中。该图标动态添加了一个ID,以便用户可以从UI中删除该项目,我还想从关闭的选择框中取消选中该项目。添加的ID是所选选项的“值”,这样我就可以将UI上的项目与selectbox中的选项相关联。当值较短(少于2个单词)时,此功能非常有效。但是当值大于2个单词时,我得到一个错误:“无法识别的表达式:checkbo

我会尽量让这件事合理化。。。 使用jquerymultiselect复选框插件。通过AJAX调用动态添加选项。当用户选择一个项目/选项并关闭选择框时,该项目将与一个“删除”图标一起添加到UI中。该图标动态添加了一个ID,以便用户可以从UI中删除该项目,我还想从关闭的选择框中取消选中该项目。添加的ID是所选选项的“值”,这样我就可以将UI上的项目与selectbox中的选项相关联。当值较短(少于2个单词)时,此功能非常有效。但是当值大于2个单词时,我得到一个错误:“无法识别的表达式:checkbox[value=xxxxx]”。此错误是从jQuery引发的:

Sizzle.error = function( msg ) {
    throw new Error( "Syntax error, unrecognized expression: " + msg );
};
将实际值与“msg”相比较,jQuery似乎在截断两个单词后的ID,因此无法将其与任何已知的selectBox值匹配。
好的,所以我决定使用所选项目的“索引”并将其添加到“删除”图标(连同标识符)中,该图标会将其与Selectbox中的所选选项相关联。从UI中删除时,我会去掉标识符,只使用索引。我的问题是无法取消选中该项。我尝试了以下方法:

$('select#'+cOption).multiselect("widget").find(":checkbox[index="+delVal+"]").each(function() {
                this.click();   // Remove check from deleted option
没有错误,只是没有取消选中

我会发布整个内容,但它相当大而且有点复杂。基本上我只想按索引而不是值取消选中所选选项。

使用

$('select#'+cOption).multiselect("widget").find(":checkbox[index='"+delVal+"']").each(function() {
                this.click();  });
而不是

$('select#'+cOption).multiselect("widget").find(":checkbox[index="+delVal+"]").each(function() {
                this.click();  

什么是
delVal
?索引或值?如前所述…“我去掉标识符,只使用索引”。它是0-4之间的整数(最多5个选项)。