0

如何将级联函数绑定到 DOM 中尚未包含的元素:

(function ($) {
    $.fn.cascade = function (options) {
        var defaults = {};
        var opts = $.extend(defaults, options);

     // REST OF THE CODE NOT IMPORTANT FOR THE QUESTION //

    };
})(jQuery);

将被加载的 Partialview 将具有:

@Html.DisplayNameFor(m => m.PTDistrict_Id)
@Html.DropDownListFor(m => m.PTDistrict_Id, Model.PTDistrictList, HeelpResources.PTDistrictViewDropDownListFirstRecord, new { id = "districtDropdown" })
@Html.ValidationMessageFor(m => m.PTDistrict_Id)

我试过这个但没有运气:

$(document).on("change", "#districtDropdown", function () {
    $.cascade({
        url: "/Address/ListCouncilByDistrict",
        paramName: "districtId",
        firstOption: 'Selecione o Concelho...',
        childSelect: $("#councilDropdown")
    });
});

有任何想法吗?谢谢。

4

3 回答 3

0

像那样

$(document).on("change", "#districtDropdown", function () {
    $(this).cascade({
      ...
    });
});
于 2013-03-19T18:28:18.197 回答
0

这样的事情可能适用于您的情况:

<select>
    <option class="event" data-action="Cascade" data-someParameter="fooBar">Foo</option>
</select>  
    <script>

    var Event = {
      Cascade: function(ele){
      //enter your actual cascade function.
         alert(ele.attr("data-someParameter")); //alerts "123"
      };
    };

    $(".event").on("click",function(){
       var ele = $(this);
       Event[ele.attr("data-action")](ele);
    });

    </script>
于 2013-03-19T18:33:08.767 回答
0

你就是做不到。时期...

但是您可以使用实时事件处理程序。正如它的描述所说:

为匹配当前选择器的所有元素附加一个事件处理程序,现在和将来

于 2013-03-19T18:29:23.400 回答