【问题标题】:How to change <select> tag into <input> in jQuery如何在 jQuery 中将 <select> 标签更改为 <input>
【发布时间】:2011-08-12 05:02:44
【问题描述】:

我正在寻找一些 jQuery 代码。

我正在选择

<select id="questionBox"  name="questionBox">
      <option selected="selected" value="-">------------------------</option>
      <option value="Create your own question">Create your own question</option>
      <option value="-">------------------------</option>
      <option value="What is your mothers name?">What is your mothers name?</option>
      <option value="What is your fathers name?">What is your fathers name?</option>
      <option value="What is your pet name?">What is your pet name?</option>
</select>

我只想当有人点击“创建你自己的问题”时,这个选择框变成输入框,这样用户就可以轻松定义自己的问题。

请帮我解决这个问题。

谢谢。

【问题讨论】:

  • 按照你的描述去做是个坏主意。如果用户改变主意并想要 select 回来怎么办?
  • 好吧,我知道这一点,所以我会添加一个按钮来改回选择标签

标签: jquery jquery-plugins select input jquery-selectors


【解决方案1】:

显示文本框解决方案

http://jsfiddle.net/2WB6M/

它不会隐藏选择,而是在选择“新建...”时显示一个文本框。原因与 Jon 在他的评论中的相同。

HTML:

<select id="questionBox"  name="questionBox">
      <option selected="selected" value="-">------------------------</option>
      <option value="Create your own question">Create your own question</option>
      <option value="-">------------------------</option>
      <option value="What is your mothers name?">What is your mothers name?</option>
      <option value="What is your fathers name?">What is your fathers name?</option>
      <option value="What is your pet name?">What is your pet name?</option>
</select>
<input type="text" id="newQuestion"/>

JavaScript:

$(function() {
    $('#newQuestion').hide();

    $('#questionBox').change(function() {
        if ($(this).val() === 'Create your own question')
            $('#newQuestion').show();
        else
            $('#newQuestion').hide();
    });
});

隐藏选择并创建取消按钮

http://jsfiddle.net/qkhpr/1/

HTML:

<select id="questionBox"  name="questionBox">
      <option selected="selected" value="-">------------------------</option>
      <option value="Create your own question">Create your own question</option>
      <option value="-">------------------------</option>
      <option value="What is your mothers name?">What is your mothers name?</option>
      <option value="What is your fathers name?">What is your fathers name?</option>
      <option value="What is your pet name?">What is your pet name?</option>
</select>
<div id="newQuestion">
    <input type="text"/>
    <button id="cancel">Cancel</button>
</div>

JavaScript:

$(function() {
    $('#newQuestion').hide();

    $('#questionBox').change(function() {
        if ($(this).val() === 'Create your own question') {
            $('#newQuestion').show();
            $('#questionBox').hide();
        }
    });

    $('#cancel').click(function () {
        $('#questionBox').show();
        $('#newQuestion').hide();
    });
});

【讨论】:

  • 很好,但您缺少隐藏输入的名称属性
猜你喜欢
  • 1970-01-01
  • 2018-09-03
  • 2019-01-15
  • 2020-03-23
  • 1970-01-01
  • 1970-01-01
  • 2014-05-22
  • 1970-01-01
  • 2013-07-28
相关资源
最近更新 更多