【问题标题】:3 combobox box,change one by one,each select the first item auto3个组合框,一个一个改变,每个选择第一项自动
【发布时间】:2016-01-14 05:45:47
【问题描述】:

我有 3 个组合框,当我选择第一个组合框时,我希望自动选择第二个组合框和第三个组合框的第一项。 当第二个组合框的第一项被选中时,会触发第三个组合框的onselect事件,但参数record未定义

$("#c2").combobox({
            onSelect:function(record)

当我选择第一个组合框的一个项目时,这里的record 是未定义的。 当我选择第二个组合框的项目时,它不是

为什么?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/icon.css">
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/themes/color.css">
    <link rel="stylesheet" type="text/css" href="http://www.jeasyui.com/easyui/demo/demo.css">
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
    <script type="text/javascript" src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
    //simulate the database
    var data={};
    data.id1=[{value:"id1",text:"aa1"},{value:"id2",text:"aa2"}];
    data.id2=[{value:"id3",text:"aa3"},{value:"id4",text:"aa4"}];
    data.id1.id1=[{value:"id1",text:"aaa1"},{value:"id2",text:"aaa2"}];
    data.id1.id2=[{value:"id3",text:"aaa3"},{value:"id4",text:"aaa4"}];
    data.id2.id1=[{value:"id5",text:"aaa5"},{value:"id6",text:"aaa6"}];
    data.id2.id2=[{value:"id7",text:"aaa7"},{value:"id8",text:"aaa8"}];
    $(function(){
        var c1id;
        $("#c1").combobox("loadData",[{value:"id1",text:"a1"},{value:"id2",text:"a2"}]);
        //change c2 box when c1 on select
        $("#c1").combobox({
            onSelect:function(record){
                c1id=record.value;
                $("#c2").combobox("clear");
                $("#c2").combobox("loadData",data[record.value]);
                try{var c2data=$("#c2").combobox("getData");//c2data.length is 0?
                value=c2data[0].text;
                $("#c2").combobox("select",value);}
                catch(e){

                }
            }
        }) 
        $("#c2").combobox({
            onSelect:function(record){
                $("#c3").combobox("clear");
                $("#c3").combobox("loadData",data[c1id][record.value]);
                try{var c2data=$("#c3").combobox("getData");//c2data.length is 0?
                value=c2data[0].text;
                $("#c3").combobox("select",value);}
                catch(e){

                }
            }
        })
    });
</script>
</head>
<body>
<input id="c1" class="easyui-combobox">
<input id="c2" class="easyui-combobox">
<input id="c3" class="easyui-combobox">
</body>
</html>

【问题讨论】:

    标签: javascript jquery combobox jquery-easyui


    【解决方案1】:

    当设置组合框的值时,你应该传递一个,而不是一个文本,我的意思是

    value=c2data[0].text;
    $("#c2").combobox("select",value);}
    

    应该是

    value=c2data[0].value;
    $("#c2").combobox("select",value);}
    

    如果您选择一个不存在的值,组合框会显示它,但不会将它与对象关联。这就是为什么您会收到undefined

    【讨论】:

      猜你喜欢
      • 2016-05-29
      • 1970-01-01
      • 2017-01-16
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多