Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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 无法从下拉列表中设置输入标记的值_Javascript_Php_Jquery_Html_Input - Fatal编程技术网

Javascript 无法从下拉列表中设置输入标记的值

Javascript 无法从下拉列表中设置输入标记的值,javascript,php,jquery,html,input,Javascript,Php,Jquery,Html,Input,我试图从下拉列表中设置输入值,但它似乎对我不起作用。这是我的代码: <form> <select name="color" id="color"> <option selected value="0">white</option> <option value="1">orange</option> <option value="1">black<

我试图从下拉列表中设置输入值,但它似乎对我不起作用。这是我的代码:

<form>
    <select name="color" id="color">
        <option selected value="0">white</option>  
        <option value="1">orange</option> 
        <option value="1">black</option> 
        <option value="2">yellow</option>
        <option value="2">green</option>    
        <option value="4">gray</option> 
        <option value="4">red</option> 
        <option value="8">pink</option> 
        <option value="8">blue</option> 
    </select>
    <input type="text" id="output">
</form>

白色
橙色
黑色
黄色的
绿色
灰色
红色
粉红色
蓝色
$('#color').bind('change',function(){
$('#output').html($(this).find(':selected').html()+'
'); log($(this.find(':selected').html()); });
当我将
替换为
时,它会起作用。有什么解决方案吗?


<script type="text/javascript">
$('#color').bind('change', function(){
    $('#output').val($(this).find(':selected').html() + '<br>');
    console.log($(this).find(':selected').html());
});
$('#color').bind('change',function(){ $('#output').val($(this).find(':selected').html()+'
'); log($(this.find(':selected').html()); });
输出元素是一个
输入元素,因此需要使用
val()
,而不是
html()
,来设置其值

还请注意,
bind()
已被弃用。您应该使用
change()
on('change')
。试试这个:

$('#color')。在('change',function()上{
$('#output').val($(this).find(':selected').text());
});

白色
橙色
黑色
黄色的
绿色
灰色
红色
粉红色
蓝色

输入标记始终具有值,因此您必须将代码更改为下面的值

<script type="text/javascript">
$(document).on('change','#color', function(){

    $('#output').val($(this).find(':selected').html() + '<br>');

});

</script>

$(文档).on('change','#color',function(){
$('#output').val($(this).find(':selected').html()+'
'); });
对于输入元素,它应该是
val()
而不是
html()

试一试这个例子,

$('#color').bind('change',function(){
$('#output').val($('#color option:selected').text());
});

白色
橙色
黑色
黄色的
绿色
灰色
红色
粉红色
蓝色
试试这个:

$(document).ready(function() {
  $('#color').on('change', function() {
    //alert( this.value );
     $('#output').val(this.value);
  });
});

您使用的是哪个版本的jquery?使用
.on()
也使用
$(“#输出”).val()
而不是
.hml()
,因为它是一个输入;)必须从脚本中删除+“
”,因为它是用值发布的,所以它必须是$('#color').bind('change',function(){$('#output').val($(this).find(':selected').text());console.log($(this).find(':selected').html(););
$(document).ready(function() {
  $('#color').on('change', function() {
    //alert( this.value );
     $('#output').val(this.value);
  });
});