如何在jQuery中将<select>标记更改为</select> <input />

时间:2011-04-25 08:34:54

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

我正在寻找一些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>

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

请帮助我解决这个问题。

谢谢。

1 个答案:

答案 0 :(得分:2)

显示文本框解决方案

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();
    });
});