3

当我输入 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>
4

3 回答 3

3

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

$('#mySelect').change(function() {
  // do stuff here;
});
于 2013-04-08T00:59:27.727 回答
3

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

尝试改变:

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

至:

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

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

于 2013-04-08T01:04:09.357 回答
1

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

<script type="text/javascript">
    $(function(){
        var updateHomeNum = function(obj){
            $("#DPRcallerhometelephonenumber").val(obj.val());
        };
        $("#DPRtelephonenumber").on({
            keyup: function(){
                updateHomeNum($(this));
            }, change: function(){
                updateHomeNum($(this));
            }
        });
    });
</script>
于 2013-04-08T01:00:23.050 回答