jQuery 在每个事件后循环追加结果
jQuery loop append result after every event
我将 jQuery 中的每个循环应用到 onchange()
事件。
$(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>
所以我的问题是当我 select option("RAW") 它 return 结果作为选项值然后我 select "DEPTH" 选项并添加 "RAW"和“DEPTH”return 结果并将这两个数据作为选项提供。
输出 - 当我 select "RAW"
<option>"raw-result"<option>
<option>"raw-result"<option>
当我select“深度”时
<option>"raw-data"<option>
<option>"raw-data"<option>
<option>"depth-data"<option>
<option>"depth-data"<option>
所以我想,当我 select 选项时,它 return 循环数据,当再次选择 select 选项时,它 return 新循环数据不附加数据与以前的 select.
输出应该是这样的——
当我在“RAW”选项之后 select“DEPTH”选项时,它 return
<option>"depth-data"<option>
<option>"depth-data"<option>
但它不会 return 结果。
您正在附加新数据而不是用它替换旧数据。
而不是 append
使用 html
$("#result").html(toAppend);
我将 jQuery 中的每个循环应用到 onchange()
事件。
$(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>
所以我的问题是当我 select option("RAW") 它 return 结果作为选项值然后我 select "DEPTH" 选项并添加 "RAW"和“DEPTH”return 结果并将这两个数据作为选项提供。
输出 - 当我 select "RAW"
<option>"raw-result"<option>
<option>"raw-result"<option>
当我select“深度”时
<option>"raw-data"<option>
<option>"raw-data"<option>
<option>"depth-data"<option>
<option>"depth-data"<option>
所以我想,当我 select 选项时,它 return 循环数据,当再次选择 select 选项时,它 return 新循环数据不附加数据与以前的 select.
输出应该是这样的—— 当我在“RAW”选项之后 select“DEPTH”选项时,它 return
<option>"depth-data"<option>
<option>"depth-data"<option>
但它不会 return 结果。
您正在附加新数据而不是用它替换旧数据。
而不是 append
使用 html
$("#result").html(toAppend);