使用jquery删除元素
我在程序中使用jquery令牌输入,根据选择列表的更改,我需要将额外的参数传递给搜索函数。我能做到这一点,由下面的代码使用jquery删除元素,jquery,asp.net-mvc,html,asp.net-mvc-3,Jquery,Asp.net Mvc,Html,Asp.net Mvc 3,我在程序中使用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("..
$("#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的新的。搜索也很成功。但我面临一个问题
令牌输入
$(“#令牌输入代码-”+id[1])
位于- 下。您可以使用如下函数分离父元素:
function detachInput(id) {
var li = $('#' + id).closest('li');
if (li.siblings().length === 0) {
li.closest('ul').detach();
} else {
li.detach();
}
}
detachInput("token-input-code-" + id[1]);
这假设ul
元素可以包含多个li
元素,并且您只希望在ul
为空时删除它
像这样调用它:
function detachInput(id) {
var li = $('#' + id).closest('li');
if (li.siblings().length === 0) {
li.closest('ul').detach();
} else {
li.detach();
}
}
detachInput("token-input-code-" + id[1]);
<> P>使用jQuery的
尝试:
那么您想在ul为空时删除它,同时删除li?为什么在创建具有相同id的新的ul时要将其分离?你为什么不按照要求更改内容/代码呢?亲爱的ekuusela,是的,我需要删除ul(当为空)和li(亲爱的Bhushan),因为表行是动态的,textbox附加了jquery令牌输入,所以我无法这样做。我需要向jquery输入传递额外的参数。如果只有默认参数我不必分离它,分离和移除之间的区别是什么?我链接到了这两个参数的文档。差异几乎在分离文档的顶部解释。太好了。工作正常。我更改了。分离为。删除,因为我不想重用它。谢谢你的帮助