- JScript code
$(document).ready(function() { $.ajax({ type: "POST", contentType: "application/json", url: "copyUserRole.aspx/GetJsonUserRole", data: "{}", dataType: "json", success: function(result) { try { eval("var userRole=" + result.d); $.each(userRole, function(i) { $("#tdUserGroup").append("<input type='radio' name='userGroup' value='" + userRole[i].roleId + "'/>" + userRole[i].roleName); if ((i + 1) % 5 == 0) { $("#tdUserGroup").append("<br/>"); } }); } catch (e) { alert(e); return; } }, error: function(result, status) { if (status == "error") { alert(status); } } }); $.ajax({ type: "POST", contentType: "application/json", url: "setUserGroup.aspx/GetUserRoleByUserId", data: "{userId:'" + '<%=Request["userId"] %>' + "'}", dataType: "json", success: function(result) { try { if (result.d != null) { document.getElementById("txtaReason").disabled = false; //问题:result.d每次都出来,就是下面这句有时不起作用 $("input[@type=radio][@value=" + result.d + "]").attr("checked", true); } } catch (e) { alert(e); return; } }, error: function(result, status) { if (status == "error") { alert(status); } } }); });
------解决方案--------------------
你这个是异步的上面的还没创建呢,下面怎么能找到呢
------解决方案--------------------
在第一个ajax的回调里生成完元素后再调用ajax,可以把下面的ajax放到第一个回调的后面,或弄个独立的函数,第一个回调后面再调用那个ajax函数。