javascript - Jquery 附加下拉数据不正确

标签 javascript jquery html css

我的表单中有下拉菜单,它有一个在页面加载时定义的 CSS 样式并且是隐藏的,代码就像

<div class="col-md-6">
  <div class="form-group">
    <div id="City" hidden="" style="display: none;">
      <label class="control-label" for="City">City</label>
      <select name="City" id="City" class="selectboxit visible" style="display: none;"></select><span id="CitySelectBoxItContainer" class="selectboxit-container selectboxit-container" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" aria-owns="CitySelectBoxItOptions" aria-labelledby=""><span id="CitySelectBoxIt" class="selectboxit selectboxit visible selectboxit-enabled selectboxit-btn" name="City" tabindex="0" unselectable="on" style="width: 47px;"><span class="selectboxit-option-icon-container"><i id="CitySelectBoxItDefaultIcon" class="selectboxit-default-icon" unselectable="on"></i></span>
      <span
      id="CitySelectBoxItText" class="selectboxit-text" unselectable="on" data-val="" aria-live="polite"></span><span id="CitySelectBoxItArrowContainer" class="selectboxit-arrow-container" unselectable="on"><i id="CitySelectBoxItArrow" class="selectboxit-arrow selectboxit-default-arrow" unselectable="on"></i></span></span>
        <ul id="CitySelectBoxItOptions"
        class="selectboxit-options selectboxit-list" tabindex="-1" style="min-width: 5px;" role="listbox" aria-hidden="true"></ul>
        </span>
    </div>
  </div>
</div>

我能够成功地将选项附加到此下拉列表中,但是它们会在没有我的 CSS 样式的情况下插入到下拉列表中,如下图所示 enter image description here

添加数据后下拉 HTML 的样子

<div id="City" hidden="" style="display: block;">
  <label class="control-label" for="City">City</label>
  <select name="City" id="City" class="selectboxit visible" style="">
    <option>--Select City--</option>
    <option value="1">City 1</option>
    <option value="3">City 11</option>
    <option value="4">City 111</option>
  </select><span id="CitySelectBoxItContainer" class="selectboxit-container selectboxit-container" role="combobox" aria-autocomplete="list" aria-haspopup="true" aria-expanded="false" aria-owns="CitySelectBoxItOptions" aria-labelledby=""><span id="CitySelectBoxIt" class="selectboxit selectboxit visible selectboxit-enabled selectboxit-btn" name="City" tabindex="0" unselectable="on" style="width: 47px;"><span class="selectboxit-option-icon-container"><i id="CitySelectBoxItDefaultIcon" class="selectboxit-default-icon" unselectable="on"></i></span>
  <span
  id="CitySelectBoxItText" class="selectboxit-text" unselectable="on" data-val="" aria-live="polite"></span><span id="CitySelectBoxItArrowContainer" class="selectboxit-arrow-container" unselectable="on"><i id="CitySelectBoxItArrow" class="selectboxit-arrow selectboxit-default-arrow" unselectable="on"></i></span></span>
    <ul id="CitySelectBoxItOptions"
    class="selectboxit-options selectboxit-list" tabindex="-1" style="min-width: 5px;" role="listbox" aria-hidden="true"></ul>
    </span>
</div>

JQuery 代码看起来像这样,这里的 targetdropdown 值将是“City”,并且 Id 和值是适当的

$("div#City").toggle();
$('select[name="'+targetdropdown+'"]').empty();
           jQuery('select[name="'+targetdropdown+'"]').
         append('<option> --Select '+targetdropdown+'-- </option>');
           $.each(res[0],function(index, element) {
                 var newOption = '<option
           value="'+element.Id+'">'+element.Name+' </option>';
               jQuery('select[name="'+targetdropdown+'"]').
                          append(newOption);
                       });

你能帮我解决插入到 CSS 样式下拉列表中的数据问题吗?如图所示,它是空的

最佳答案

您似乎正在为自定义样式的下拉列表使用 SelectBoxIt jQuery 插件。当您完成向 div 调用 .refresh() 方法添加动态选项时。

在您的 javascript 代码末尾添加以下行。

$('select[name="'+targetdropdown+'"]').data("selectBox-selectBoxIt").refresh();

关于javascript - Jquery 附加下拉数据不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39284851/

相关文章:

javascript - 如何在不重新加载整个页面的情况下重新加载网页中的组件

javascript - 使 Javascript 局部变量成为全局变量以进行递归循环

javascript - bash - curl 到 Heroku 时无效的 JSON

javascript - 未捕获的类型错误 : Cannot read properties of null (reading 'value' ) javascript

javascript - 无法为 html5 Canvas 上的矩形设置背景颜色

javascript - 根据 div 宽度调整文本大小

javascript - 将 jQuery 验证器的 valid() 或 element() 方法与远程方法一起使用

java - 如何在 Wicket 中启动文件下载并关闭 (jQuery) 对话框?

javascript - ng根据选择重复

javascript - 如何在选择选择框值时将参数作为 POST 数据传递,这将重新加载同一页面?