提问人:sakariya 提问时间:11/16/2023 最后编辑:sakariya 更新时间:11/17/2023 访问量:15
尝试从 Selectize 输入中删除项时出现语法错误
Getting a syntax error when attempting to remove an item from Selectize input
问:
每当我尝试从 Selectize 输入中删除项目时,我在控制台中都会收到以下错误:
index.js:12 Uncaught Error: Syntax error, unrecognized expression: option[value="{"id":"allCustomers","type":"keyword"}"]
at Sizzle.error (index.js:12:1)
at Sizzle.tokenize (index.js:12:1)
at Sizzle.select (index.js:12:1)
at Function.Sizzle [as find] (index.js:12:1)
at jQuery.fn.init.find (index.js:12:1)
at Selectize.updateOriginalInput (<anonymous>:31913:16)
at Selectize.removeItem (<anonymous>:31720:9)
at HTMLDivElement.<anonymous> (<anonymous>:34943:33)
at HTMLDocument.dispatch (index.js:12:1)
at elemData.handle (index.js:12:1)
我用于删除该项目的代码如下所示:
$(document).on('click', 'div.selectize-input div.item', function (e) {
var select = $('#customerDropdownMailform').selectize();
var selectedValue = $(this).attr("data-value");
select[0].selectize.removeItem(selectedValue);
select[0].selectize.refreshItems();
select[0].selectize.refreshOptions();
});
有人知道它为什么会坏吗?我在网上找到的示例建议执行上述解决方案来删除该项目。
我怀疑数据值可能是罪魁祸首。我尝试对其进行修改,使其成为 int 或 json 字符串化,但我得到了相同的语法错误。
答:
0赞
Barmar
11/17/2023
#1
问题在于,您使用双引号作为选择器中值的分隔符。JSON 中的双引号与此匹配,因此它不会将其视为单个值。[value=...]
在选择器中使用单引号。
<div class="item" data-value='option[value='{"id":"allCustomers","type":"keyword"}']'>
您需要使用,以便单引号与周围的引号不匹配'
data-value=
下一个:如何在滚动端平滑滚动?[关闭]
评论