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