我使用onchange()事件在jquery中应用每个循环。
$(function() {
$('#datatype').change(function(){
$.getJSON('/background_process', {
}, function(data) {
var toAppend = '';
$.each(data.result,function(i,o){
toAppend += '<option >'+o+'</option>';
});
$("#result").append(toAppend);
});
return false;
});
});
<select name="datatype" id='datatype'>
<option selected disabled >SELECT DATATYPE</option>
<option value="RAW">RAW</option>
<option value="DEPTH">DEPTH</option>
</select>
<select id=result name="result">
<option value="NULL">SELECT TOKEN</option>
</select>
所以我的问题是当我选择选项(“RAW”)时它将结果作为选项值返回,然后我选择“DEPTH”选项并添加“RAW”和“DEPTH”返回结果并将两个数据作为选项。 / p>
输出 - 当我选择“RAW”时
<option>"raw-result"<option>
<option>"raw-result"<option>
当我选择“深度”
时<option>"raw-data"<option>
<option>"raw-data"<option>
<option>"depth-data"<option>
<option>"depth-data"<option>
所以我想,当我选择它返回循环数据时,再次选择选项然后它返回新的循环数据,不附加前一个选择的数据。
输出应该像这样 - 当我在“RAW”选项后选择“DEPTH”选项时返回
<option>"depth-data"<option>
<option>"depth-data"<option>
但它不会返回那个结果。
答案 0 :(得分:2)
您附加新数据而不是用旧数据替换旧数据。
而不是append
使用html
$("#result").html(toAppend);