2016-02-23 59 views
0

我有2個輸入都包含用'|'分隔的數字列表。 我需要檢查第一個輸入的任何id是否存在於第二個輸入中,如果它沒有添加到第三個。Javascript - 比較2個輸入分割數組並輸出差異

<input type="text" id="access_ids" value="13|16|24|25|31|33|36|42|43|45|48|49|58|59|61|8" /><br /> 
<input type="text" id="replied_ids" value="8|9|16" /><br /> 
<input type="text" id="not_replied_ids" value="" /> 

$(document).ready(function(){ 
var acc_ids = $('#access_ids').text(); 
var acc_array = acc_ids.split('|'); 

for (var i = 0; i < acc_array.length; i++) { 
    if (acc_array[i].indexOf($('#replied_ids')) > -1) { 
     $('#not_replied_ids').text(acc_array[i].join('|')); 
     return; 
    } 
} 

});

我做了一個的jsfiddle: https://jsfiddle.net/sheferd/nhj63fbu/1/

感謝

回答

1

你是錯誤的語法,例如:$('#access_ids').text() - >$('#access_ids').val() ...您可以嘗試跟蹤代碼:

$(document).ready(function(){ 
    var acc_ids = $('#access_ids').val(); 
    var acc_array = acc_ids.split('|'); 
    var not_replied_arr = []; 
    for (var i = 0; i < acc_array.length; i++) { 
     if ($('#replied_ids').val().indexOf(acc_array[i]) == -1) { 
      not_replied_arr.push(acc_array[i]); 
      $("#not_replied_ids").val(not_replied_arr.join("|")); 
      return; 
     } 
    } 
}); 
+0

感謝快速回復。剛剛取消最後的回報;這使得它只輸出第一個結果 – sheferd