2013-04-08 45 views
0

當我輸入DPRtelephonenumber時,我想在DPRcallerhometelephonenumber中重複它。JQuery Onselect?

只要我打字,這個腳本就可以工作。但如果< INPUT id =「DPRtelephonenumber」>提供了一個從先前使用的值的下拉列表,並且我選擇它,< INPUT id =「DPRcallerhometelephonenumber」>沒有設置。

那麼,我需要什麼比一個keyup更多?我如何在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> 
+0

你能否請一些HTML? – faino 2013-04-08 00:49:53

+0

完成。更新。謝謝。 – JTJohnston 2013-04-08 00:57:12

回答

1

您可以在下拉菜單中使用onchange事件。

$('#mySelect').change(function() { 
    // do stuff here; 
}); 
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> 
2

既然你正在處理一個文本輸入元素,我認爲下拉僅僅是由瀏覽器提供的自動完成者。沒有辦法將「onselect」處理程序附加到該處理程序。您至少可以將一個on-change處理程序附加到輸入元素。

嘗試改變:

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

要:

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

當然,改變事件不火,直到文本字段失去焦點。如果您希望在文本字段的值更改後立即執行事件處理程序,則可以檢出this question

+0

完美。我想知道我該如何做到這一點。謝謝。 – JTJohnston 2013-04-08 01:53:09