首页 > 解决方案 > 发布数据后jQuery添加选择到选项

问题描述

当我单击 时,我将json数据添加到In action 中,我的 jQuery 代码在using 、和方法中将数据添加到选项列表中。option data-valuesoptiondata-values#targetJSON.parseeachappend

$('#list').change(function() {
  var response = JSON.parse($(this).find(':selected').attr('data-values'));
  var len = response.length;
  $("#target").empty();
  $.each(response, function() {
    $.each(this, function(name, value) {
      $("#target").append("<option value='" + name + "'>" + value + "</option>");
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="list">
  <optgroup label="Hardware">
    <option value="5" data-values='[{"34":"500GB","35":"1TB","36":"2TB","37":"4TB"}]'>
      HDD
    </option>
    <option value="11" data-values='[{"63":"Ardreno 650","64":"Adreno 640","65":"NVIDIA GeForce GTX 1650","66":"NVIDIA GeForce GTX 1080","67":"NVIDIA GeForce GTX 2070","68":"NVIDIA GeForce GTX 2080"}]' selected="selected">
      Graphics
    </option>
  </optgroup>
</select>

<select id="target"></select>

现在,在create page我的代码中工作是正确的,但是我在回发时遇到了一个大问题。当我将数据发送到我的php控制器并且我的控制器返回任何错误时,我需要将old选择数据(发送数据)添加到#target列表中。实际上,如果选项是,我需要#target在页面加载时自动加载列表并添加到选项列表中。#listselectedselected#target

工作演示

不起作用演示(将选择添加到选项)

标签: javascriptjquery

解决方案


尝试这个:$('#list').trigger('change');


推荐阅读