Jquery Chosen - 在Load本身上自动填充选定的数据

时间:2014-03-12 15:04:22

标签: jquery jquery-plugins drop-down-menu jquery-chosen

我一直在我的应用程序中使用Jquery Chosen插件。

我的网页包含中有2个下拉列表      类别--->正常下拉(包含所有类别)      AttributeList - >选择下拉列表(包含所有属性)

每个类别都有多个属性从AttributeList链接。 假设我们有10个类别和40个属性。 示例CategoryA链接到4个属性(Attr1,Attr2,Attr3和Attr4)

当我们从Category Dropdown中选择CategoryA时,列表(Attr1,Attr2,Attr3和Attr4)应该 在属性列表下拉列表中加载,并且将从单击所选下拉列表时显示的40个属性中禁用。


CateoryA ---在类别DropDown中选择


Attr1 X Attr2 X Attr3 X Attr4 X ---> AttributeList选择下拉列表


Attr1 - 禁用   Attr2 - 禁用   Attr3 - 禁用   Attr4 - 禁用   Attr5 - 启用状态   Attr39 - 启用状态   Attr40 - 启用状态


我们如何在页面加载/下拉选择更改中为选定的下拉列表实现自动填充。

请尽快帮我解决。 至少帮助我提供所选插件的任何文档。

2 个答案:

答案 0 :(得分:0)

我的代码在cshtml页面中 (a'类别'下拉列表和' txtAttributes'是选定的下拉菜单) 目前它填充空。但是我需要至少其中一些应该基于逻辑在负载上填充。

在CSHTML页面

   <div class="row clear">
        <div class="span2">
            Category:</div>
        <div class="span8">
            <select id="Category" multiple="multiple">
            </select>
        </div>
    </div>
   <div class="span2">
      Attributes:</div>
   <div class="span8">
    <select id="txtAttributes" style="display: none;" 
 data-placeholder="Select Attribute"  multiple="multiple" 
class="chosen-select-width" tabindex="-1"></select>
  </div>

Javascript文件包含

    $.ajax({
        url: cexPortal.getAbsoluteURL("CMS/Attribute/ListJson"),
        type: 'GET',
        data: '',
        success: function (data) {
            var AttributeList = data.List;

             $(document).data('AttributeList', AttributeList);

            $("#txtLinkAttributesToCategory").empty();

            $.each(AttributeList, function (i, data) {
                $("#txtAttributes").append("<option value=\"" + data.StructureId + "\">" + data.StructureName + "</option>");
            });

            var config = {
                '.chosen-select': {},
                '.chosen-select-deselect': {
                    allow_single_deselect: true
                },
                '.chosen-select-no-single': {
                    disable_search_threshold: 10
                },
                '.chosen-select-no-results': {
                    no_results_text: 'Oops, nothing found!'
                },
                '.chosen-select-width': {
                    width: "95%"
                }
            }
            $(document).data('ChosenConfig', config);

            for (var selector in config) {
                $(selector).chosen(config[selector]);
            }
        }
    });

答案 1 :(得分:0)

请使用所选的api动态选择要选择的值。

$('#kpiselect').val(["Attr1","Attr2","Attr3","Attr4"]).trigger("chosen:updated");