JQuery追加输入名称
我有一个多输入选择的下拉列表。用户可以选择任何他们喜欢的,每次他们选择,他们的选择将显示在现场 问题: 1.我尝试通过JQuery追加输入名称,jquery,html,Jquery,Html,我有一个多输入选择的下拉列表。用户可以选择任何他们喜欢的,每次他们选择,他们的选择将显示在现场 问题: 1.我尝试通过var inputName=$('input').attr('name')获取输入的值名,但不知怎的,它确实起作用了。请在这个问题上帮忙 在他们选择之后,如果他们改变主意,想要删除一个或多个他们选择的内容,我如何在产品旁边创建一个X按钮来删除 谢谢 JF HTML 造成这种情况的原因有两条线 第一个是$('.multi-selects').append('inputName')
var inputName=$('input').attr('name')获取输入的值名代码>,但不知怎的,它确实起作用了。请在这个问题上帮忙
在他们选择之后,如果他们改变主意,想要删除一个或多个他们选择的内容,我如何在产品旁边创建一个X按钮来删除
谢谢
JF
HTML
造成这种情况的原因有两条线
第一个是$('.multi-selects').append('inputName')代码>。您正在向元素追加字符串,而不是inputName
的值。为此,只需删除这样的单引号:
$('.multi-selects').append(inputName + " ");
第二个是您的inputName
定义。您正在使用input
标记作为选择器,这意味着它将始终获取此标记的第一个实例。我建议向click()
事件处理程序中的函数添加一个输入变量(在本例中为e
),如下所示:
$('.dropdown-menu input').click(function(e) {})
并将您的inputName
定义更改为:
var inputName = $(e.target).attr('name');
我还用这些更改编辑了您的JSFIDLE。希望这有帮助 $('.下拉菜单输入')。单击(函数(){
$('.dropdown-menu input').click(function() {
$('.txt-title').hide();
var inputName = $(this).attr('name');
if($(this).prop('checked')){
$('.multi-selects').append('<span>'+ inputName + '</span>' );
}else{
$('.multi-selects span:contains('+inputName+')').remove()
}
})
$('.txt title').hide();
var inputName=$(this.attr('name');
if($(this.prop('checked')){
$('.multi-selects').append(''+inputName+'');
}否则{
$('.multi-selects span:contains('+inputName+'))。remove()
}
})
感谢Jesse指出问题的原因!我没有意识到这些。请您看一下#2:在他们选择后,如果他们改变主意,想要删除一个或多个他们选择的内容,我如何在产品旁边创建一个X按钮以进行删除?这个我不知道怎么做。Thanks我个人认为,如果他们只是取消选中该框,那么删除它会更有效,但如果这对您的情况不起作用,那么您应该创建一个div
,其中包含产品名称,以及带有X
或时间的链接或按钮在标记之间添加code>,然后单击X
,只需运行$(this)。删除()
非常感谢Jesse。我会试试你的建议。谢谢你!我真的很喜欢你的代码,它工作得很好。再次感谢!
$('.dropdown-menu input').click(function(e) {})
var inputName = $(e.target).attr('name');
$('.dropdown-menu input').click(function() {
$('.txt-title').hide();
var inputName = $(this).attr('name');
if($(this).prop('checked')){
$('.multi-selects').append('<span>'+ inputName + '</span>' );
}else{
$('.multi-selects span:contains('+inputName+')').remove()
}
})