首页 新闻 搜索 专区 学院

select二级联动,如何设置第二级默认值?

0
悬赏园豆:10 [已关闭问题] 关闭于 2014-05-09 11:34

有两个select:部门departmentlist、员工employeelist,两个hidden保存着原值:部门名departmentnamex、员工名employeenamex

在设置部门select后,通过以下代码设置默认选中部门,然后手动触发部门change事件,以使员工select重新绑定。代码如下:

var deptname = $("#departmentnamex").val(); //部门名称
$("#departmentlist option").each(function () {
    if ($(this).text() == deptname) {
        $(this).attr("selected", true);
        $("#departmentlist").change();
    }
});

在change事件里,获取员工并绑定到员工select,此时想如法炮制设置员工默认值,但是不成功,在change时间里,绑定员工数据后,查询到员工select个数是0:

$("#employeelist").find("option").length

应该如何设置员工select的默认值?

或者在手动添加option项的时候,有没有办法设置某一项为选种值?我的添加方法如下:

$.post("/Employee/GetJsonEmployee",
    { departmentId: selectedDeptId },
    function (data) {
        $.each(data, function (i, item) {
            ddl_e.append($('<option/>', {
                value: item.Value,
                text: item.Text
            }));
        });
    }
);
赏音师的主页 赏音师 | 菜鸟二级 | 园豆:221
提问于:2014-05-09 11:29
< >
分享
所有回答(4)
0

修改selectedindex属性

吴瑞祥 | 园豆:28851 (高人七级) | 2014-05-09 11:31

问题就是在部门的change事件里设置不起作用,虽然在这个事件里添加了option进去,但是随后获取到的option个数为0。

支持(0) 反对(0) 赏音师 | 园豆:221 (菜鸟二级) | 2014-05-09 11:35
0

提问完自己试了下在手动添加option项的时候,设置某一项为选中值,果然可以。。。

var emplname = $("#employeenamex").val(); //员工名称

$.post("/Employee/GetJsonEmployee",
    { departmentId: selectedDeptId },
    function (data) {
        $.each(data, function (i, item) {
            if (item.Text == emplname) {
                ddl_e.append($('<option/>', {
                    value: item.Value,
                    text: item.Text,
                    selected: true
                }));
            }
            else {
                ddl_e.append($('<option/>', {
                    value: item.Value,
                    text: item.Text
                }));
            }
        });
    }
);
赏音师 | 园豆:221 (菜鸟二级) | 2014-05-09 11:34
0

要么你在页面加载的时候把所有“员工”的数据通过 键值对 的形式存起来,键是 “部门” 值是 “员工”, 选中部门后动态把员工的数据加到员工的select上面,

要么你在选中部门后ajax得到该部门的所有员工,再把数据加到员工的select上面

刘宏玺 | 园豆:14006 (专家六级) | 2014-05-09 11:37

兄台你没看清我所说的问题,可能是我说的不够清楚。

支持(0) 反对(0) 赏音师 | 园豆:221 (菜鸟二级) | 2014-05-09 14:54
0

http://home.cnblogs.com/group/topic/9741.html 给个三级联动的连接

在change事件里,获取员工并绑定到员工select,此时想如法炮制设置员工默认值 这里不是很理解,你的部门变了,部门下的员工也变了。为什么这里还需要设置默认值呢?

单恋 | 园豆:678 (小虾三级) | 2014-05-09 11:41

是这样,进入编辑状态,需要设置两个select,选中原来的部门、员工。第一步是绑定部门数据,然后选中原来的部门,触发change事件,重新绑定员工数据,第二步就是设置员工列表,选中原来的员工。

进入后用户去重新选择部门,员工变了,这种时候就无需设置默认值。

支持(0) 反对(0) 赏音师 | 园豆:221 (菜鸟二级) | 2014-05-09 15:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册