【问题标题】:Add input text when option selected选择选项时添加输入文本
【发布时间】:2013-06-29 12:53:47
【问题描述】:

如何在选择<select></select>标记之间的特定选项时添加<input type="text">,然后,如果选择了另一个选项,请使用jQuery删除该文本字段?

【问题讨论】:

  • 你试过什么?
  • 我没有,我不知道从哪里开始。我不知道。我不想让别人做我所有的工作,我需要一个想法。
  • 你想从 dom 中添加/删除还是隐藏足够好?
  • 我想添加/删除表单,因为我会用PHP检查它是否存在。

标签: jquery select input option


【解决方案1】:

要获取<select> 的值,请使用.val() 方法。要添加/删除元素,有几个选项。我会给你一个例子:

$('<input type="text" />').appendTo('body'); // Will append this element to <body>
$('input').remove(); // Removes this item from the document

【讨论】:

    【解决方案2】:

    您应该使用change 事件。然后,您可以比较要为其创建输入的值并将其添加到 body 或任何其他元素。

    活生生的例子:http://jsfiddle.net/MKPdb/

    有一个这样的列表,id 为mylist,例如:

    <select id="mylist">
     ...
    </select>
    

    你可以用这个:

    $('#mylist').change(function(){
        if( $(this).val() == '1'){
            $('body').append('<input id="myInput" type="text" />');
        }else{
            $('#myInput').remove();
        }
    });
    

    活生生的例子:http://jsfiddle.net/MKPdb/

    【讨论】:

      【解决方案3】:

      如果你想显示 a 然后将它添加到你想要的位置并将它设置为不显示,然后从 JQuery 中获取它

      <select id="mylist">
          <option selected></option>
          <option value="1" >aaaa</option>
           <option value="2">bbb</option>
          <option value="3">ccc</option>
      </select>
      <input id="id" type="text" style="display:none;" />
      

      然后进入你的 JS

      $('#mylist').change(function(){
          if( $(this).val() == '1'){
              $('#id').show();
          }else{
              $('#id').hide();
          }
      });
      

      【讨论】:

      • 问题是关于添加/删除不显示/隐藏表单元素。区别确实很重要,因为即使是隐藏的表单元素也会在提交表单时提交,但被移除的元素不会。
      猜你喜欢
      • 2021-09-02
      • 2011-09-18
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 2016-12-21
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多