将值从选择复制到文本

时间:2011-08-04 16:55:37

标签: jquery

即使select的值发生变化,我也希望将select的值复制到text字段 我的代码

$(document).ready(function() {
   $('#select').change(function() {
      $('#text').val($('#select').val());
   });  
});

此代码仅在我使用鼠标更改选择值时有效,但如果我将其对焦并按向上/向下箭头键则不起作用。

4 个答案:

答案 0 :(得分:5)

这是预期的行为,在选择选项之前不会更改实际值。在使用向上/向下箭头进行选择后按“enter”时,它仍然有效。

如果需要,您可以尝试并绑定更多事件,例如:

$('#select').bind('change click keyup', function() {
  $('#text').val($(this).val());
});

演示:http://jsfiddle.net/Q2G9F/

答案 1 :(得分:3)

除了.change处理程序之外,你可以试试这个jQuery Watch Plugin吗?类似的东西:

$(document).ready(function() {
    $('#select').change(onChange);
    $("#select").watch('value', onChange);

    function onChange(){
      $('#text').val($('#select').val());
    }
});

当然,您必须在页面上包含该插件。

答案 2 :(得分:1)

$( '#select' ).keydown( function( )
{
    ...
} );

$( '#select' ).keyup( function( )
{
    ...
} );

取决于您的需求应该有效。

答案 3 :(得分:1)

使用:

$('#select').bind('change keypress click', function)