2个组合框,select一个,换一个
2 comboboxes,select one,change another
现在我改进了代码,我有一个新问题,
<!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>
现在我改进了代码,我有一个新问题,
现在有 3 个组合,我 select "a1" 在第一个组合中,"aa1" auto select 在第二个组合中编辑,但 "aaa1" 没有select进入第三个组合。
原因
$("#c2").combobox({
onSelect:function(record){
这里的record
是未定义的。
为什么?
这条线
$("#c2").combobox("select",value);}
将触发#c2 onselect事件,但记录参数未定义。
所以当我 select 编辑第一个组合框时,我无法自动 select 第三个组合框的第一项。
这是之前的问题:
<!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"}];
$(function(){
$("#c1").combobox("loadData",[{value:"id1",text:"a1"},{value:"id2",text:"a2"}]);
//change c2 box when c1 on select
$("#c1").combobox({
onSelect:function(record){
$("c2").combobox("clear");
$("c2").combobox("loadData",data[record.value]);
var c2data=$("#c2").combobox("getData");//c2data.length is 0?
value=c2data[0].text;
$("c2").combobox("select",value);
}
})
});
</script>
</head>
<body>
<input id="c1" class="easyui-combobox">
<input id="c2" class="easyui-combobox">
<input id="c3" class="easyui-combobox">
</body>
</html>
有 2 个组合框,当第一个组合框的项目被 selected 时,更改 second.And select 第一个项目的数据
第二个组合框。
页面加载后,我 selected "a1" 第一个组合框,
此行已执行:
var c2data=$("#c2").combobox("getData");
但是 c2data.length 是 0?
为什么?
正如@Tushar 在评论中指出的那样,看起来这只是一个错字。您在一些地方将 hash-mark 遗漏在 c2
的 ID 选择器之外。
//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" }
];
$(function() {
$("#c1").combobox("loadData", [
{ value: "id1", text: "a1" },
{ value: "id2", text: "a2" }
]);
//change c2 box when c1 on select
$("#c1").combobox({
onSelect: function(record) {
$("#c2").combobox("clear");
$("#c2").combobox("loadData", data[record.value]);
var c2data = $("#c2").combobox("getData"); //c2data.length is 0?
value = c2data[0].text;
$("#c2").combobox("select", value);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<link href="http://www.jeasyui.com/easyui/themes/default/easyui.css" rel="stylesheet"/>
<link href="http://www.jeasyui.com/easyui/themes/icon.css" rel="stylesheet">
<link href="http://www.jeasyui.com/easyui/themes/color.css" rel="stylesheet">
<link href="http://www.jeasyui.com/easyui/demo/demo.css" rel="stylesheet">
<input id="c1" class="easyui-combobox">
<input id="c2" class="easyui-combobox">
<input id="c3" class="easyui-combobox">
现在我改进了代码,我有一个新问题,
<!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>
现在我改进了代码,我有一个新问题,
现在有 3 个组合,我 select "a1" 在第一个组合中,"aa1" auto select 在第二个组合中编辑,但 "aaa1" 没有select进入第三个组合。 原因
$("#c2").combobox({
onSelect:function(record){
这里的record
是未定义的。
为什么?
这条线
$("#c2").combobox("select",value);}
将触发#c2 onselect事件,但记录参数未定义。 所以当我 select 编辑第一个组合框时,我无法自动 select 第三个组合框的第一项。
这是之前的问题:
<!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"}];
$(function(){
$("#c1").combobox("loadData",[{value:"id1",text:"a1"},{value:"id2",text:"a2"}]);
//change c2 box when c1 on select
$("#c1").combobox({
onSelect:function(record){
$("c2").combobox("clear");
$("c2").combobox("loadData",data[record.value]);
var c2data=$("#c2").combobox("getData");//c2data.length is 0?
value=c2data[0].text;
$("c2").combobox("select",value);
}
})
});
</script>
</head>
<body>
<input id="c1" class="easyui-combobox">
<input id="c2" class="easyui-combobox">
<input id="c3" class="easyui-combobox">
</body>
</html>
有 2 个组合框,当第一个组合框的项目被 selected 时,更改 second.And select 第一个项目的数据
第二个组合框。 页面加载后,我 selected "a1" 第一个组合框, 此行已执行: var c2data=$("#c2").combobox("getData"); 但是 c2data.length 是 0? 为什么?
正如@Tushar 在评论中指出的那样,看起来这只是一个错字。您在一些地方将 hash-mark 遗漏在 c2
的 ID 选择器之外。
//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" }
];
$(function() {
$("#c1").combobox("loadData", [
{ value: "id1", text: "a1" },
{ value: "id2", text: "a2" }
]);
//change c2 box when c1 on select
$("#c1").combobox({
onSelect: function(record) {
$("#c2").combobox("clear");
$("#c2").combobox("loadData", data[record.value]);
var c2data = $("#c2").combobox("getData"); //c2data.length is 0?
value = c2data[0].text;
$("#c2").combobox("select", value);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
<link href="http://www.jeasyui.com/easyui/themes/default/easyui.css" rel="stylesheet"/>
<link href="http://www.jeasyui.com/easyui/themes/icon.css" rel="stylesheet">
<link href="http://www.jeasyui.com/easyui/themes/color.css" rel="stylesheet">
<link href="http://www.jeasyui.com/easyui/demo/demo.css" rel="stylesheet">
<input id="c1" class="easyui-combobox">
<input id="c2" class="easyui-combobox">
<input id="c3" class="easyui-combobox">