2017-04-02 85 views
0

我試圖在#place輸入中獲取值並將其保留在該輸入中,但傳真號碼已進入#fax輸入中?是否有可能獲得兩個值並將它們放入相應的位置。從jquery中的數據列表中獲取值和文本

input type="text" id="place" list="places"> 
<datalist id="places"> 
    <option value="WVC">503-882-1212</option> 
    <option value="HAM">612-883-1414</option> 
    <option value="WON">317-445-8585</option> 
</datalist> 
<br> 
<input type="text" id="fax"> 

回答

0

鑑於您給我們的起始代碼,您需要做兩件事才能達到這種效果。首先,您需要通過添加事件偵聽器來捕獲對輸入元素的任何更改。

其次,使用javascript,您只需從所有存在的選項中選擇正確的選項元素,並提取傳真號碼,即標籤innerHTML。

<input type="text" id="place" list="places"> 
<datalist id="places"> 
    <option value="WVC">503-882-1212</option> 
    <option value="HAM">612-883-1414</option> 
    <option value="WON">317-445-8585</option> 
</datalist> 
<br> 
<input type="text" id="fax"> 
<script> 
    document.querySelector('input').addEventListener('input', function() { 
     var val = document.querySelector('input').value; 
     faxNum = document.querySelectorAll('option[value="' + val + '"]')[0].innerHTML; 
     document.querySelector('#fax').value = faxNum; 
    }); 
</script> 
+0

非常感謝你這麼做,但我有一個以上的輸入,比如10,我如何使它更精確? –

+0

我不完全確定你會怎麼做,我會檢查[querySelector](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector)文檔並查看你可以實現哪些選項。除非您的傳真號碼標籤具有相同的值,否則不需要使其更精確。 – heyon