select控件自动触发change事件

这里接上面的二级联动。背景:当页面跳转到修改页面时,需要首先绑定学院和专业。这就需要在页面加载时触发select的change事件,具体用trigger函数进行实现。代码如下。

$("#xsxy").change(function (event, flag) {
            var xyidvalue;
            if (flag == "start")
                xyidvalue = '<%=xsxyid%>';
            else
                xyidvalue = $(this).val();
            $.post("../../handler/XyZyHandler.ashx", { "action": "getzydata", "xyid": xyidvalue }, function (data, status) {

                if (status != "success") {
                    $("#xszy").append("<option>加载专业出错</option>");
                }
                else if (data == "nodata") {
                    $("#xszy").append("<option>暂时没有数据</option>");
                }
                else {
                    $("#xszy").empty();
                    $("#xszy").append("<option>-- 请选择专业名称 --</option>")
                    var options = $.parseJSON(data);
                    for (var i = 0; i < options.length; i++) {
                        var option = options[i];
                        $("#xszy").append("<option value='" + option.opvalue + "'>" + option.optext + "</option>");
                    }
                    if(flag=="start")
                       $("#xszy").val("<%=xszyid%>");
                }

            })

        }).trigger("change", ["start"]); 

说明:注意标记颜色的代码,因为第一次加载时需要的是绑定的学院id,但是当选择学院的时候学院id就会改变,所以这里在trigger 函数中传递一个控制参数,判读时候是第一次加载,还是通过选择获得的学院id

上一篇:MyRolan (快速启动小工具)


下一篇:JSON数据、PHP数组 转换 Excel表格