Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
Javascript 使用js/jquery在下拉列表中没有值时动态添加文本框。_Javascript_Jquery - Fatal编程技术网

Javascript 使用js/jquery在下拉列表中没有值时动态添加文本框。

Javascript 使用js/jquery在下拉列表中没有值时动态添加文本框。,javascript,jquery,Javascript,Jquery,我不熟悉javascript和jquery。我正在编写一个应用程序,在这个应用程序中,用户可以从美国50个州的下拉列表中选择他的州,在选择一个州后,他也可以在下拉列表中动态地获得受尊敬的县。假设我想为不属于这50个州和县的人动态插入一个文本框,并想输入他们自己的州和县,我如何使用jquery/javascript呢?(例如:如果州不适用,请选择“其他”并输入您所在的州和县)如下所示: <select id="selectStates"> <option value="0

我不熟悉javascript和jquery。我正在编写一个应用程序,在这个应用程序中,用户可以从美国50个州的下拉列表中选择他的州,在选择一个州后,他也可以在下拉列表中动态地获得受尊敬的县。假设我想为不属于这50个州和县的人动态插入一个文本框,并想输入他们自己的州和县,我如何使用jquery/javascript呢?(例如:如果州不适用,请选择“其他”并输入您所在的州和县)

如下所示:

<select id="selectStates">
    <option value="01">Alabama</option>
    <!-- all other states -->
    <option value="51">Other</option>
</select>

阿拉巴马州
另外
以及jQuery:

$('#selectStates').change(
    function(){
        if ($(this).val() == 51){
             $('<textarea />').attr(
                 {
                  'id':'otherState',
                  'name':'otherState'
             }).insertAfter($(this));
        }
    });
$('selectStates')。更改(
函数(){
if($(this).val()==51){
$('').attr(
{
'id':'otherState',
'name':'otherState'
})。在($(本))之后插入;
}
});

我想这足够让你开始了

参考资料:

选择
元素绑定事件。
在这个变化事件中,你可以做这样的事情

$('#selectElementId').change(function(e){
    var selectedValue = $(this).val();
    if(selectedValue !== 'other'){//Change `other` with whatever value you put on the other option.
         //show the respected countries
    }
    else{
        var $div = $('<div/>');  //Creates a div
        var $label = $('<label/>'); //Creates label
        $label.html('Enter your state');
        var $input = $('<input/>', {id:'otherStateField', type:'text'}); //Creates a text input element with an ID-otherStateField
        $div.append($label).append($input); // Appends label & input field into the div
        $(this).after($div); // Appends the div after the select element
   }
$('#selectElementId')。更改(函数(e){
var selectedValue=$(this.val();
如果(selectedValue!=='other'){//将'other'更改为您在other选项上输入的任何值。
//展示受尊敬的国家
}
否则{
var$div=$('');//创建一个div
var$label=$('');//创建标签
$label.html('enteryourstate');
var$input=$(“”,{id:'otherStateField',type:'text'});//创建一个id为otherStateField的文本输入元素
$div.append($label).append($input);//将标签和输入字段追加到div中
$(this).after($div);//将div追加到select元素之后
}

您可以使用
otherStateField
id获取文本元素的值。

非常感谢David…这肯定会让我开始学习。非常好!显然,如果您遇到问题,欢迎您询问。=)我找到了一个解决方案,最初停用文本框,如果用户选择“无”或“其他”值,然后他可以在文本框中输入。简单高效!!!