我在我的程序中使用jquery令牌输入,并根据选择列表更改我需要将额外的参数传递给搜索功能。我可以通过以下代码来完成。
$("#service").on('change', '.act_type', function () {
qq = $(this).val();
var id = $(this).attr('id').split('-');
$("#token-input-code-" + id[1]).detach();
$("#code-"+id[1]).tokenInput("../Preapproval/Searchactivitycode?queryParam=q" + "&type=" + qq,{
theme: 'facebook',
preventDuplicates: true,
searchingText: 'Searching...',
tokenLimit: 1,
hintText: 'Activity code',
});
这些行是动态创建的。当完成选择列表的更改时,我将分离具有令牌输入的当前文本框。否则,将通过保留旧文本框来创建新文本框。现在它正在分离旧的并创建一个具有相同id和tokeninput的新的。搜索也成功。但我面临一个问题。
令牌输入$("#token-input-code-" + id[1])
位于<ul><li></li></ul
下,此li和ul未被删除,因此每次我在选择列表中进行更改时,行顶部会显示一条小行。
我怎样才能删除ul和li。它没有id只有一个类,同一个类也用于表单中的另一个ul元素。
答案 0 :(得分:1)
使用jquery的unwrap()
var el = $('div[id^="token-input-code"]');
el.parent('li').unwrap();
el.parent('ul').unwrap();
答案 1 :(得分:1)
尝试:
$('ul:has(li:empty)').filter(function() {
return $(this).children().length === 1;
}).remove();
答案 2 :(得分:0)