我有兩個列表框,可供選擇。我想確保刪除所選的可用選項。有條件地填充列表框
用我的代碼下面的所有項目都放在可用和沒有選中。我究竟做錯了什麼?
var availableTags = [];
var selectedTags = [];
var jsonAvailble = '[{"id":"1","name":"One"},{"id":"2","name":"Two"},{"id":"3","name":"Three"},{"id":"4","name":"Four"}]';
var jsonSelected = '[{"id":"4","name":"Four"}]';
availableTags = $.parseJSON(jsonAvailble);
selectedTags = $.parseJSON(jsonSelected);
for (var i = 0; i < availableTags.length; ++i) {
//console.log($.inArray(availableTags[i].id, selectedTags));
if ($.inArray(availableTags[i].id, selectedTags) >= 0) {
$('#lstSelectedTags').append('<option value="' + availableTags[i].id + '">' + availableTags[i].name + '</option>');
}
else{
$('#lstAvailableTags').append('<option value="' + availableTags[i].id + '">' + availableTags[i].name + '</option>');
}
}
那麼儘管'if'條件,你做的正是在每次迭代同樣的事情。嘗試在'else'上做任何事(*或將其移除*)。 –
確保在選中「可用」列表中的任何'選定'標籤。否則,所選的任何東西將*總是*可用,因此將被添加到可用列表中。 –