JQuery Onselect?

时间:2013-04-08 00:47:16

标签: jquery input keyup onselect

当我输入DPRtelephonenumber时,我想在DPRcallerhometelephonenumber中重复它。

只要我输入,此脚本就可以正常工作。但是如果< INPUT id =“DPRtelephonenumber”>提供从先前使用的值下拉,并且我选择它,< INPUT id =“DPRcallerhometelephonenumber”>没有设定。

那么,我需要的不仅仅是一个密钥?我如何写一个onselect ??

<input name="DPRtelephonenumber" id="DPRtelephonenumber" type="text">
<input name="DPRcallerhometelephonenumber" id="DPRcallerhometelephonenumber" type="text">
<script type="text/javascript">
  $(document).ready(function() {
    $('#DPRtelephonenumber').keyup(function() {
      $('#DPRcallerhometelephonenumber').val($(this).val());
    });
  });    
</script>

3 个答案:

答案 0 :(得分:2)

由于您正在处理文本输入元素,我假设下拉列表只是浏览器提供的自动完成符。没有办法附加“onselect”处理程序。您至少可以将一个on-change处理程序附加到input元素。

尝试更改:

$('#DPRtelephonenumber').keyup(function() {

要:

$('#DPRtelephonenumber').on('change keyup', function() {

当然,在文本字段失去焦点之前,更改事件不会触发。如果您希望在文本字段的值更改后立即执行事件处理程序,则可以查看this question

答案 1 :(得分:1)

您可以将onchange事件用于下拉菜单。

$('#mySelect').change(function() {
  // do stuff here;
});

答案 2 :(得分:0)

这样的事情应该做你想做的事情:

<script type="text/javascript">
    $(function(){
        var updateHomeNum = function(obj){
            $("#DPRcallerhometelephonenumber").val(obj.val());
        };
        $("#DPRtelephonenumber").on({
            keyup: function(){
                updateHomeNum($(this));
            }, change: function(){
                updateHomeNum($(this));
            }
        });
    });
</script>