2011-08-04 65 views
3

即使select的值發生更改,我也希望將select的值複製到文本字段。
我的代碼將select中的值複製到文本

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

當我改變用鼠標選擇的價值,但如果我專注它,然後按上/下箭頭鍵不起作用此代碼的工作而已。

+1

與鍵盤仍然會觸發事件改變它,但它不火,直到元素失去焦點。 –

回答

5

這是預期的行爲,實際值不會改變,直到選擇一個選項。使用向上/向下箭頭進行選擇後,按下「enter」鍵後它仍然可以工作。

你試試,如果你想可以綁定多個事件,例如:

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

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

3

你可以試試這個jQuery Watch Plugin除了你.change處理?類似於:

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

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

而且您必須將該插件包含在您的頁面當然。

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

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

根據您的需要應該工作。

1

使用:

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