jQuery 问题

zhjhzf 2009-12-31 12:57:16
$(function() {
$.ajax({
url: "setRoleToPage.ashx",
dataType: "json",
data: "type=getRoleList",
type: "GET",
error: function() { },
success: function(data) {
if (data.list.length == 0) { alert("未添加角色信息,禁止操作!"); document.getElementById("btnSave").disabled = "disabled"; }
else {
$.each(data.list, function(index, value) {
var option = new Option(value.roleName, value.roleId);
document.getElementById("lstRole").add(option);
});
//document.getElementById("lstRole").options[0].selected = true;
}
}
});
var value = $("#lstRole option:selected").html(); alert(value);
});

我已经将数据放入select 标签 但之后取值为什么是null?
怎样放入select之后即得到第一项当前选中值?
...全文
126 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
antony1029 2009-12-31
  • 打赏
  • 举报
回复

$(function() {
$.ajax({
url: "setRoleToPage.ashx",
dataType: "json",
data: "type=getRoleList",
type: "GET",
error: function() { },
success: function(data) {
if (data.list.length == 0) { alert("未添加角色信息,禁止操作!"); document.getElementById("btnSave").disabled = "disabled"; }
else {
$.each(data.list, function(index, value) {
var option = new Option(value.roleName, value.roleId);
document.getElementById("lstRole").add(option);
});
//document.getElementById("lstRole").options[0].selected = true;
var value = $("#lstRole option:selected").html(); alert(value);
}
}
});

});


把代码放到 回调的里面就可以了。ajax异步操作,不是按顺序执行的。
草根醉秋意 2009-12-31
  • 打赏
  • 举报
回复


$(function() {
$.ajax({
url: "setRoleToPage.ashx",
dataType: "json",
data: "type=getRoleList",
type: "GET",
error: function() { },
success: function(data) {
if (data.list.length == 0) { alert("未添加角色信息,禁止操作!"); document.getElementById("btnSave").disabled = "disabled"; }
else {
$.each(data.list, function(index, value) {
var option = new Option(value.roleName, value.roleId);
document.getElementById("lstRole").add(option);
});
//document.getElementById("lstRole").options[0].selected = true;
var value = $("#lstRole option:selected").html(); alert(value);
}
}
});
//var value = $("#lstRole option:selected").html(); alert(value);
});
抱抱我的小猫 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhjhzf 的回复:]
引用 2 楼 lihui_shine 的回复:
LZ的
var value = $("#lstRole option:selected").html(); alert(value);
这段代码没有问题,问题出在:在执行这段代码的时候,select数据还没有加载好
LZ可以把这段代码放在ajax的success函数中
可以了 为什么必须这样?不是先执行循环然后执行下一条语句?
[/Quote]

AJAX是异步,会顺序执行,不会等到上一个操作完全结束
zhjhzf 2009-12-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lihui_shine 的回复:]
LZ的
var value = $("#lstRole option:selected").html(); alert(value);
这段代码没有问题,问题出在:在执行这段代码的时候,select数据还没有加载好
LZ可以把这段代码放在ajax的success函数中
[/Quote]可以了 为什么必须这样?不是先执行循环然后执行下一条语句?
lovesiyile 2009-12-31
  • 打赏
  • 举报
回复
这个ajax是异步操作,
可以把这句
var value = $("#lstRole option:selected").html(); alert(value);
放到success回调函数中

lz可以去看看ajax异步
浪尖赏花 2009-12-31
  • 打赏
  • 举报
回复
LZ的
var value = $("#lstRole option:selected").html(); alert(value);
这段代码没有问题,问题出在:在执行这段代码的时候,select数据还没有加载好
LZ可以把这段代码放在ajax的success函数中
zhjhzf 2009-12-31
  • 打赏
  • 举报
回复
没淫顶啊
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2009-12-31 12:57
社区公告
暂无公告