jquery循环在每个事件后附加结果

时间:2018-01-12 11:22:41

标签: javascript jquery html javascript-events

我使用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>

但它不会返回那个结果。

1 个答案:

答案 0 :(得分:2)

附加新数据而不是用旧数据替换旧数据。 而不是append使用html

$("#result").html(toAppend);