javascript - 如何将数据从 ajax 加载到 Chosen jquery?

标签 javascript jquery html select jquery-chosen

我在 http://harvesthq.github.io/chosen/ 处选择了使用.好的,我测试它从 ajax 加载数据。我在任何地方创立,也许没有人与他们一起成功。

<script src="theme/js/jQuery-2.1.3.min.js"></script>
    <link href="theme/chosen_v1.4.2/chosen.css" rel="stylesheet" />
    <script src="theme/chosen_v1.4.2/chosen.jquery.js"></script>
      <script type="text/javascript" charset="utf-8">
       $(document).ready(function () {
           $(".cb_bu_info").chosen({
               width: "95%",
               source: function (data) {
                   $.ajax({
                       type: "POST",
                       url: "../BUS/WebService.asmx/LIST_BU",
                       contentType: "application/json; charset=utf-8",
                       dataType: "json",
                       success: function (data) {
                           $("#cb_info").html('');
                           //$.each($.parseJSON(data.d), function (idx, obj) {
                           $.each(data, function (idx, obj) {
                               $("#cb_info").append('<option value="' + obj.BU_ID + '">' + obj.BU_NAME + '</option>');
                           });  
                          //$("#cb_info").trigger("liszt:updated");
                       },
                       error: function (data) {
                           console.log(data.d);
                       }
                   });
               }
           });

           $("#cb_info").trigger("liszt:updated");
        });
    </script>
<select id="cb_info" class="cb_bu_info"></select>

数据形式为ajax

[{"BU_ID":"B01","BU_NAME":"Agro Feed","BU_DES":"Agro Feed","EDIT_DATE":"2015-05-05T00:00:00","EDIT_BY":"","FLAG":false},{"BU_ID":"B02","BU_NAME":"Agro Farm","BU_DES":"Agro Farm","EDIT_DATE":"2015-05-05T00:00:00","EDIT_BY":"","FLAG":false}]

嗯,它看起来不错,但是当我运行它时,结果没有显示在选择选项中,请查看浏览器开发工具,我没有看到错误。一切正常。这里发生了什么问题?注意:只使用 Chosen Jquery

最佳答案

在检查了 Chosen 文档之后,似乎没有“来源”选项。您需要做的是首先运行您的 Ajax 调用,然后填写您的选择选项。一旦选择全部填满,然后在该选择元素上运行 Chosen。

我会使用以下 JS 代码:

var url = "../BUS/WebService.asmx/LIST_BU";
$.getJSON(url, function(json){
    var $select_elem = $("#cb_info");
    $select_elem.empty();
    $.each(json, function (idx, obj) {
        $select_elem.append('<option value="' + obj.BU_ID + '">' + obj.BU_NAME + '</option>');
    });
    $select_elem.chosen({ width: "95%" });
})

关于javascript - 如何将数据从 ajax 加载到 Chosen jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32757874/

相关文章:

html - 什么时候视口(viewport)不是矩形的

javascript - 如何避免聊天室应用程序中的恶意发送

javascript - 加载页面时,我可以在 HTML、javascript 或 CSS 中将缩放初始化为 100%

javascript - jQuery - 在单击事件上切换 localStorage

javascript - Jquery 用户界面选项卡。选择仅在一个选项卡中起作用的所有复选框

javascript - 将隐藏选项卡中的 HTML5 验证事件传递给 JavaScript 函数

javascript - 获取输入值和 if 语句

javascript - Jquery 动画宽度 Accordion 样式横幅

javascript - 如何使用 Javascript 函数在下拉选择值上启用或禁用 asp 按钮?

UpdatePanel 异步回发后的 Javascript 事件订阅