如何使用asp.net中的级联下拉列表将焦点设置为下一个下拉列表

时间:2015-11-30 07:09:14

标签: javascript jquery asp.net

 function cascadingDropdown_2Level(containerID
, l1_Ctl, l1_Source, l1_default
, l2_Ctl, l2_Source, l2_default
, hdnID
) {
     var valarr;
     if ($(hdnID).val() != null && $(hdnID).val() != "") {
         valarr = JSON.parse($(hdnID).val());
         l1_default = valarr[$(l1_Ctl).attr('name')];
         l2_default = valarr[$(l2_Ctl).attr('name')];
     }

$(containerID).cascadingDropdown({
    selectBoxes: [
        {
                 selector: l1_Ctl,
                 source: function (request, response) {
                     fngetJSONfor2level(request, response, l1_Source, l1_default,l1_Ctl);
                 }
                 ,
                 selected: l1_default
             },
             {
                 selector: l2_Ctl,
                 requires: [l1_Ctl],
                 source: function (request, response) {
                     var seviceurl = l2_Source + $(l1_Ctl).val();
                     fngetJSONfor2level(request, response, seviceurl, l2_default,l2_Ctl);

                 },
                 selected: l2_default
             }
         ],
         onChange: function (event, dropdownData) {
             if (event.currentTarget.id == l2_Ctl.replace("#", "")) {
                 $(hdnID).val(JSON.stringify(dropdownData));
             }
         }
     });
     $(l2_Ctl).focus();
 }

 function fngetJSONfor2level(request, response, serviceurl, defaultval,control_id) {
     $.getJSON(serviceurl, request, function (data) {
         var selectOnlyOption = data.length <= 1;
         var result = $.parseJSON(data);
         $(control_id).focus();
         response($.map(result["Table"], function (item, index) {
             return {
                 label: item[Object.keys(item)[1]],
                 value: item[Object.keys(item)[0]],
                 selected: item[Object.keys(item)[0]] == defaultval
             };
         }));
     });
 }

0 个答案:

没有答案