jquery easy ui combobox function()参数问题 这个不是有个select指定选择项的么?当数据绑定后指定你想要的那个code,然后用初始化一个变量(用来存储code)的值,把“b”下拉框的绑定写在一个方法里面,在"a" 的onSelect调用那个方法,把code传过去嘛。才疏学浅,对你描述的问题不是很清楚额。是联动么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a同时增加onBeforeLoad和onSelect就好了吧。又不冲突。。 我的意思是:比如‘a’下拉框有(bid,bcode)属性,对应值(‘1’,‘A’)和(‘2,B’),当‘a’下拉框选择‘A’时,可以把‘1’作为参数给'b'下拉框当查询语句的条件 ‘a’下拉框有(bid,bcode)属性,对应值(‘1’,‘A’)和(‘2,B’);当‘a’下拉框选择‘A’时,可以把‘1’作为参数给'b'下拉框当查询语句的条件同时用,‘a’下拉框会参照onBeforeLoad时提供的参数当做查询条件,但是当我选择‘a’下拉框的‘A’时,怎么把‘1’传给‘b’,然后'b'又怎么去查呢 本帖最后由 showbo 于 2014-07-09 09:25:23 编辑 解决了么?你可以当a列表选择项发生变化时调用绑定b下拉列表的方法,实现b下拉列表数据的重新绑定 $("#a").change(function () { var a_bid = $("#a").children('option:selected').val();var a_bcode= $("#a").children('option:selected').text(); b_data(a_bid); }function b_data(a_bid){ $("#b").empty();//先清空b下拉列表下的项....后面自己可以写了吧。} //这个是绑定b列表的函数 还没有解决现在是‘b’下拉框的问题我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9101112131415161718192021 $('#a').combobox({ url : '../Ac/queryCode', valueField : 'bid', textField : 'bcode', onBeforeLoad : function(param) { param.codetype = 'autistate';// 参数:CodeType值. }, onSelect : function(rec) {alert(rec.bid+'\n'+rec.bcode)//////////////////////// queryList(rec.bid);////////// }}); function queryList(id) {/////// $.post("queryCode", {id:id},/////////// function(data) { alert(data.code) $('#b').attr("code", data.code); });} 现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);下拉框,没有值2,我返回List<Map>类型。然后方法改成function queryList(id) {/////// //$.post("queryCode", {id:id},/////////// // function(data) { //alert(data.code) // $('#b').attr("code", data.code); //});$('#b).combobox({ url : 'queryCode, valueField : 'bid', textField : 'code', onBeforeLoad : function(param) { param.id = id;// 参数:CodeType值. }});}下拉框也没有值 我用了这方法,后台传回map类型map.put('code','6');但是我alert(data.code)时候没有值然后我在后台代码List<Map> list=xxxxx();JSONArray json;return json.toJSONStrng();返回String类型返回值在控制台打印是这样的[{"Code":"7","Codename":"1"},{"Code":"9","Codename":"9"}]然后我修改了 queryList方法 function queryList(id) {/////// //$.post("queryCode", {id:id},/////////// // function(data) { //alert(data.code) // $('#b').attr("code", data.code); //});$('#b).combobox({ url : 'queryCode, valueField : Code, textField : 'Codenae', onBeforeLoad : function(param) { param.id = id;// 参数:CodeType值. }});}但是‘b’还是没有下拉值 还没有解决现在是‘b’下拉框的问题我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9101112131415161718192021 $('#a').combobox({ url : '../Ac/queryCode', valueField : 'bid', textField : 'bcode', onBeforeLoad : function(param) { param.codetype = 'autistate';// 参数:CodeType值. }, onSelect : function(rec) {alert(rec.bid+'\n'+rec.bcode)//////////////////////// queryList(rec.bid);////////// }}); function queryList(id) {/////// $.post("queryCode", {id:id},/////////// function(data) { alert(data.code) $('#b').attr("code", data.code); });} 现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);下拉框,没有值2,我返回List<Map>类型。然后方法改成function queryList(id) {/////// //$.post("queryCode", {id:id},/////////// // function(data) { //alert(data.code) // $('#b').attr("code", data.code); //});$('#b).combobox({ url : 'queryCode, valueField : 'bid', textField : 'code', onBeforeLoad : function(param) { param.id = id;// 参数:CodeType值. }});}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍 还没有解决现在是‘b’下拉框的问题我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9101112131415161718192021 $('#a').combobox({ url : '../Ac/queryCode', valueField : 'bid', textField : 'bcode', onBeforeLoad : function(param) { param.codetype = 'autistate';// 参数:CodeType值. }, onSelect : function(rec) {alert(rec.bid+'\n'+rec.bcode)//////////////////////// queryList(rec.bid);////////// }}); function queryList(id) {/////// $.post("queryCode", {id:id},/////////// function(data) { alert(data.code) $('#b').attr("code", data.code); });} 现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);下拉框,没有值2,我返回List<Map>类型。然后方法改成function queryList(id) {/////// //$.post("queryCode", {id:id},/////////// // function(data) { //alert(data.code) // $('#b').attr("code", data.code); //});$('#b).combobox({ url : 'queryCode, valueField : 'bid', textField : 'code', onBeforeLoad : function(param) { param.id = id;// 参数:CodeType值. }});}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍现在我可以找到后台‘b’的数据,但是就是不知道如何在前台显示出来,而且是下拉框,不止一个值的 还没有解决现在是‘b’下拉框的问题我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9101112131415161718192021 $('#a').combobox({ url : '../Ac/queryCode', valueField : 'bid', textField : 'bcode', onBeforeLoad : function(param) { param.codetype = 'autistate';// 参数:CodeType值. }, onSelect : function(rec) {alert(rec.bid+'\n'+rec.bcode)//////////////////////// queryList(rec.bid);////////// }}); function queryList(id) {/////// $.post("queryCode", {id:id},/////////// function(data) { alert(data.code) $('#b').attr("code", data.code); });} 现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);下拉框,没有值2,我返回List<Map>类型。然后方法改成function queryList(id) {/////// //$.post("queryCode", {id:id},/////////// // function(data) { //alert(data.code) // $('#b').attr("code", data.code); //});$('#b).combobox({ url : 'queryCode, valueField : 'bid', textField : 'code', onBeforeLoad : function(param) { param.id = id;// 参数:CodeType值. }});}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍现在我可以找到后台‘b’的数据,但是就是不知道如何在前台显示出来,而且是下拉框,不止一个值的后台返回的是 json格式么? 可以使用ajax 获取后台json 然后绑定前台。需要Dome么? JSONArray jsonArray; try { List res=new ArrayList(); List list=manCode.Service.queryCode(codetype); jsonArray = new JSONArray(); jsonArray.addAll(res); System.out.println( jsonArray.toJSONString()); return jsonArray.toJSONString(); } catch (Exception e) { e.printStackTrace(); }后台代码需要demo //返回普通json public static string DataSetToJson(DataSet ds) { string json = string.Empty; try { if (ds.Tables.Count == 0) throw new Exception("DataSet中Tables为0"); json = "{"; for (int i = 0; i < ds.Tables.Count; i++) { json += "\"T" + (i + 1) + "\":["; for (int j = 0; j < ds.Tables[i].Rows.Count; j++) { json += "{"; for (int k = 0; k < ds.Tables[i].Columns.Count; k++) { json += "\"" + ds.Tables[i].Columns[k].ColumnName + "\":\"" + ds.Tables[i].Rows[j][k].ToString() + "\""; if (k != ds.Tables[i].Columns.Count - 1) json += ","; } json += "}"; if (j != ds.Tables[i].Rows.Count - 1) json += ","; } json += "]"; if (i != ds.Tables.Count - 1) json += ","; } json += "}"; } catch (Exception ex) { throw new Exception(ex.Message); } return json; }//上面的是根据数据库查询的数据返回的json的方法。返回的格式是这样的{"T1":[ {"ID1":"Value1","ID2":"Value2"} ,{"ID1":"Value1","ID2":"Value2"} , {"ID1":"Value1","ID2":"Value2"} ]}数据库中获得的表:然后你可以使用ajax访问 后台方法返回string 1、using System.Web.Services; 《--------2、访问的方法为静态方法 |3、在静态方法上面加 [WebMethod] 《--------ajax 这样写 $.ajax({ type: "post", async: false, url: "HospitalSys.aspx/GetButtonOne", data: "{'ModuleID':'YYGL(1)'}", dataType: "json", contentType: "application/json;charset=utf-8", success: function (json) { var str = ""; if (typeof json.d == 'string') { arr = JSON.parse(json.d).T1; } else { arr = json.d.T1; } var id1=arr[0].ID1 //这里就可以直接调用,也可以循环的通过 jQuery的 append 添加到select中 } }); 我用javascript写的随机图片为什么firefox可以iE就不行呢? 在线等帮我改代码:我想实现下拉列表框中的项(视频路径)改变时realone播放相应的视频。 关于动态添加单元格设置样式的问题。 js动态树显示问题? 【翻译】Styling an input type="file"美化文件上传控件 看看这段代码能给我详细点讲讲么? 关于multiple select 关于table的问题 onunload及onbeforeunload兼容 JavaSprict中table表格遍历求和 谁能帮我写一个<div>跟着浏览器范围而移动效果【100分求js代码】 【jQuery】请教一个事件问题
比如‘a’下拉框有(bid,bcode)属性,对应值(‘1’,‘A’)和(‘2,B’),当‘a’下拉框选择‘A’时,可以把‘1’作为参数给'b'下拉框当查询语句的条件
当‘a’下拉框选择‘A’时,可以把‘1’作为参数给'b'下拉框当查询语句的条件
同时用,‘a’下拉框会参照onBeforeLoad时提供的参数当做查询条件,
但是当我选择‘a’下拉框的‘A’时,怎么把‘1’传给‘b’,然后'b'又怎么去查呢
$("#a").change(function () {
var a_bid = $("#a").children('option:selected').val();
var a_bcode= $("#a").children('option:selected').text();
b_data(a_bid);
}
function b_data(a_bid){
$("#b").empty();//先清空b下拉列表下的项
....后面自己可以写了吧。
} //这个是绑定b列表的函数
现在是‘b’下拉框的问题
我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9
10
11
12
13
14
15
16
17
18
19
20
21
$('#a').combobox({
url : '../Ac/queryCode',
valueField : 'bid',
textField : 'bcode',
onBeforeLoad : function(param) {
param.codetype = 'autistate';// 参数:CodeType值.
},
onSelect : function(rec) {
alert(rec.bid+'\n'+rec.bcode)////////////////////////
queryList(rec.bid);//////////
}
});
function queryList(id) {///////
$.post("queryCode", {id:id},///////////
function(data) {
alert(data.code)
$('#b').attr("code", data.code);
});
}
现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);
下拉框,没有值
2,我返回List<Map>类型。然后方法改成
function queryList(id) {///////
//$.post("queryCode", {id:id},///////////
// function(data) {
//alert(data.code)
// $('#b').attr("code", data.code);
//});
$('#b).combobox({
url : 'queryCode,
valueField : 'bid',
textField : 'code',
onBeforeLoad : function(param) {
param.id = id;// 参数:CodeType值.
}
});
}下拉框也没有值
然后我在后台代码
List<Map> list=xxxxx();
JSONArray json;
return json.toJSONStrng();返回String类型返回值在控制台打印是这样的[{"Code":"7","Codename":"1"},{"Code":"9","Codename":"9"}]
然后我修改了 queryList方法
function queryList(id) {///////
//$.post("queryCode", {id:id},///////////
// function(data) {
//alert(data.code)
// $('#b').attr("code", data.code);
//});
$('#b).combobox({
url : 'queryCode,
valueField : Code,
textField : 'Codenae',
onBeforeLoad : function(param) {
param.id = id;// 参数:CodeType值.
}
});
}但是‘b’还是没有下拉值
现在是‘b’下拉框的问题
我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9
10
11
12
13
14
15
16
17
18
19
20
21
$('#a').combobox({
url : '../Ac/queryCode',
valueField : 'bid',
textField : 'bcode',
onBeforeLoad : function(param) {
param.codetype = 'autistate';// 参数:CodeType值.
},
onSelect : function(rec) {
alert(rec.bid+'\n'+rec.bcode)////////////////////////
queryList(rec.bid);//////////
}
});
function queryList(id) {///////
$.post("queryCode", {id:id},///////////
function(data) {
alert(data.code)
$('#b').attr("code", data.code);
});
}
现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);
下拉框,没有值
2,我返回List<Map>类型。然后方法改成
function queryList(id) {///////
//$.post("queryCode", {id:id},///////////
// function(data) {
//alert(data.code)
// $('#b').attr("code", data.code);
//});
$('#b).combobox({
url : 'queryCode,
valueField : 'bid',
textField : 'code',
onBeforeLoad : function(param) {
param.id = id;// 参数:CodeType值.
}
});
}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。
使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍
现在是‘b’下拉框的问题
我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9
10
11
12
13
14
15
16
17
18
19
20
21
$('#a').combobox({
url : '../Ac/queryCode',
valueField : 'bid',
textField : 'bcode',
onBeforeLoad : function(param) {
param.codetype = 'autistate';// 参数:CodeType值.
},
onSelect : function(rec) {
alert(rec.bid+'\n'+rec.bcode)////////////////////////
queryList(rec.bid);//////////
}
});
function queryList(id) {///////
$.post("queryCode", {id:id},///////////
function(data) {
alert(data.code)
$('#b').attr("code", data.code);
});
}
现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);
下拉框,没有值
2,我返回List<Map>类型。然后方法改成
function queryList(id) {///////
//$.post("queryCode", {id:id},///////////
// function(data) {
//alert(data.code)
// $('#b').attr("code", data.code);
//});
$('#b).combobox({
url : 'queryCode,
valueField : 'bid',
textField : 'code',
onBeforeLoad : function(param) {
param.id = id;// 参数:CodeType值.
}
});
}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。
使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍
现在我可以找到后台‘b’的数据,但是就是不知道如何在前台显示出来,而且是下拉框,不止一个值的
现在是‘b’下拉框的问题
我在选择‘a’中选项后,可以把参数传过去,用5楼的方法9
10
11
12
13
14
15
16
17
18
19
20
21
$('#a').combobox({
url : '../Ac/queryCode',
valueField : 'bid',
textField : 'bcode',
onBeforeLoad : function(param) {
param.codetype = 'autistate';// 参数:CodeType值.
},
onSelect : function(rec) {
alert(rec.bid+'\n'+rec.bcode)////////////////////////
queryList(rec.bid);//////////
}
});
function queryList(id) {///////
$.post("queryCode", {id:id},///////////
function(data) {
alert(data.code)
$('#b').attr("code", data.code);
});
}
现在的问题是,1,我后台返回一个map,map.put("code","7");但是data.code是没有值的, $('#b').attr("code", data.code);
下拉框,没有值
2,我返回List<Map>类型。然后方法改成
function queryList(id) {///////
//$.post("queryCode", {id:id},///////////
// function(data) {
//alert(data.code)
// $('#b').attr("code", data.code);
//});
$('#b).combobox({
url : 'queryCode,
valueField : 'bid',
textField : 'code',
onBeforeLoad : function(param) {
param.id = id;// 参数:CodeType值.
}
});
}下拉框也没有值在a下拉列表里面绑定的 value ,text 都会获取到的。。
使用我的方法试试,每次a选项发生变化的时候就把b重新绑定一遍
现在我可以找到后台‘b’的数据,但是就是不知道如何在前台显示出来,而且是下拉框,不止一个值的
后台返回的是 json格式么?
JSONArray jsonArray;
try {
List res=new ArrayList();
List list=manCode.Service.queryCode(codetype);
jsonArray = new JSONArray();
jsonArray.addAll(res);
System.out.println( jsonArray.toJSONString());
return jsonArray.toJSONString();
} catch (Exception e) {
e.printStackTrace();
}后台代码
需要demo
//返回普通json
public static string DataSetToJson(DataSet ds)
{
string json = string.Empty;
try
{
if (ds.Tables.Count == 0)
throw new Exception("DataSet中Tables为0");
json = "{";
for (int i = 0; i < ds.Tables.Count; i++)
{
json += "\"T" + (i + 1) + "\":[";
for (int j = 0; j < ds.Tables[i].Rows.Count; j++)
{
json += "{";
for (int k = 0; k < ds.Tables[i].Columns.Count; k++)
{
json += "\"" + ds.Tables[i].Columns[k].ColumnName + "\":\"" + ds.Tables[i].Rows[j][k].ToString() + "\"";
if (k != ds.Tables[i].Columns.Count - 1)
json += ",";
}
json += "}";
if (j != ds.Tables[i].Rows.Count - 1)
json += ",";
}
json += "]";
if (i != ds.Tables.Count - 1)
json += ",";
}
json += "}";
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return json;
}
//上面的是根据数据库查询的数据返回的json的方法。
返回的格式是这样的{"T1":[
{"ID1":"Value1","ID2":"Value2"}
,{"ID1":"Value1","ID2":"Value2"}
, {"ID1":"Value1","ID2":"Value2"}
]
}数据库中获得的表:
然后你可以使用ajax访问 后台方法返回string
1、using System.Web.Services; 《--------
2、访问的方法为静态方法 |
3、在静态方法上面加 [WebMethod] 《--------ajax 这样写 $.ajax({
type: "post",
async: false,
url: "HospitalSys.aspx/GetButtonOne",
data: "{'ModuleID':'YYGL(1)'}",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (json) {
var str = "";
if (typeof json.d == 'string') {
arr = JSON.parse(json.d).T1;
} else {
arr = json.d.T1;
}
var id1=arr[0].ID1 //这里就可以直接调用,也可以循环的通过 jQuery的 append 添加到select中
}
});