我做了一个二级联动的下拉列表框,用于查询,我想查询之后下拉列表框默认选中我在查询之前选择的值。
比如我现在选择的主菜单是“行业”,子菜单选择的是“研发中心”那么我查询之后也应该显示相同的默认值,但是只有第一个下拉列表框实现了我想要的效果,第二个一直都不行。
这是我设置默认值得代码
if(mu!="0"){
document.getElementById("subm").value=mu;
Selectsubmenu();
}
if(subses!="0"){
//alert(subses);
document.getElementById("cd").value=subses;
}
同事我还发现一个问题,当我把alert的注释去掉之后再火狐中能达到我要的效果,注释之后又不行了。同事ie下面是完全没有反应。
<td style="height: 45px; font-size: 12px;">
主菜单:<select id="subm" onchange="Selectsubmenu()"><%=se%></select>
</td>
<td style="height: 45px; font-size: 12px;">
所属子菜单:<select id="cd"><option value="0">子菜单</option>
</select>
</td>/*二级联动,根据主菜单id查询子菜单信息*/
function Selectsubmenu() {
var s = document.getElementById("subm").value;
var url = "../ashx/Selectsubmenu.ashx";
var date = { "id": s };
$.post(url, date, function (date) {
var jsion = eval(date);
var selet = document.getElementById("cd");
//<option value="0">子菜单</option>
for (var i = 0; i < jsion.length; i++) {
var option = new Option(jsion[i].Submenu, jsion[i].id); /*创建option*/
selet.options.add(option); /*添加值*/
}
});
}JavaScript
比如我现在选择的主菜单是“行业”,子菜单选择的是“研发中心”那么我查询之后也应该显示相同的默认值,但是只有第一个下拉列表框实现了我想要的效果,第二个一直都不行。
这是我设置默认值得代码
if(mu!="0"){
document.getElementById("subm").value=mu;
Selectsubmenu();
}
if(subses!="0"){
//alert(subses);
document.getElementById("cd").value=subses;
}
同事我还发现一个问题,当我把alert的注释去掉之后再火狐中能达到我要的效果,注释之后又不行了。同事ie下面是完全没有反应。
<td style="height: 45px; font-size: 12px;">
主菜单:<select id="subm" onchange="Selectsubmenu()"><%=se%></select>
</td>
<td style="height: 45px; font-size: 12px;">
所属子菜单:<select id="cd"><option value="0">子菜单</option>
</select>
</td>/*二级联动,根据主菜单id查询子菜单信息*/
function Selectsubmenu() {
var s = document.getElementById("subm").value;
var url = "../ashx/Selectsubmenu.ashx";
var date = { "id": s };
$.post(url, date, function (date) {
var jsion = eval(date);
var selet = document.getElementById("cd");
//<option value="0">子菜单</option>
for (var i = 0; i < jsion.length; i++) {
var option = new Option(jsion[i].Submenu, jsion[i].id); /*创建option*/
selet.options.add(option); /*添加值*/
}
});
}JavaScript
解决方案 »
- js 弹出框效果
- 哪位帮忙看下这段用来显示flash的JS代码
- 用javaScript怎样得到一个页面的对象,并对其属性进行设置?急!在线等
- 选择列表框后值进入文本框 ,有点小错误求助
- 如何用JSF实现页签功能--类似社区的“待解决”、“抢分区”这样的页签
- 最后10分了,问个DIV与鼠标显示位置的问题,应该很简单,偶对JS不熟悉,希望高手帮忙.
- 50分求救,不够再加.文本框相加的问题,求一函数
- event.clientX(clientY)的返回值?
- 关于SELECT列表内容对齐的问题(高手请进!)
- 请问怎样实现在一个表格单元里实现文字循环滚动
- jqGrid 添加行,jQuery("#list4").jqGrid("addRowData",i+1,mydata[i]);报错,求帮助
- JQuery查找数据,并进行比较的问题
if(subses!="0"){
//alert(subses);
document.getElementById("cd").value=subses;
}
这些代码了,这些代码放到ajax成功执行的回调函数中/*二级联动,根据主菜单id查询子菜单信息*/
function Selectsubmenu() {
var s = document.getElementById("subm").value;
var url = "../ashx/Selectsubmenu.ashx";
var date = { "id": s };
$.post(url, date, function (date) {
var jsion = eval(date);
var selet = document.getElementById("cd");
//<option value="0">子菜单</option>
for (var i = 0; i < jsion.length; i++) {
var option = new Option(jsion[i].Submenu, jsion[i].id); /*创建option*/
selet.options.add(option); /*添加值*/
} if(subses!="0"){
//alert(subses);
//document.getElementById("cd").value=subses;
$('#cd option[value="'+subses+'"]).attr('selected',true);
} });
}
IE下设置select的value不会选中对应的option,要设置selectedIndex或者option的selected属性,看修改后的代码,上面红色的
var mu=<%=me%>;
var tx=<%=tx%>;
if(mu!="0"){
document.getElementById("subm").value=mu;
Selectsubmenu();
}
if(subses!="0"){
//alert(subses);
//document.getElementById("cd").value=subses;
$('#cd option[value="'+subses+'"]').attr('selected',true);
}我这样写的还是不行啊。
var menu = document.getElementById("subm").value;
var submenu = document.getElementById("cd").value;
var text = document.getElementById("text").value;
var re = /^[\u4e00-\u9fa5a-z]+$/gi; //只能输入汉字和英文字母
if (text != "") {
if (!re.test(text)) {
alert("只能输入汉字和字母");
return false;
}
} else {
text="0"
}
var url = "?menu=" + menu + "&submenu=" + submenu + "&text=" + text + "";
location.href = encodeURI(url);
}