Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery追加输入名称_Jquery_Html - Fatal编程技术网

JQuery追加输入名称

JQuery追加输入名称,jquery,html,Jquery,Html,我有一个多输入选择的下拉列表。用户可以选择任何他们喜欢的,每次他们选择,他们的选择将显示在现场 问题: 1.我尝试通过var inputName=$('input').attr('name')获取输入的值名,但不知怎的,它确实起作用了。请在这个问题上帮忙 在他们选择之后,如果他们改变主意,想要删除一个或多个他们选择的内容,我如何在产品旁边创建一个X按钮来删除 谢谢 JF HTML 造成这种情况的原因有两条线 第一个是$('.multi-selects').append('inputName')

我有一个多输入选择的下拉列表。用户可以选择任何他们喜欢的,每次他们选择,他们的选择将显示在现场

问题: 1.我尝试通过
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
    时间的链接或按钮,然后单击
    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()
        } 
      })