ajax 能正确返回数据:
代码:
$("#Jquery").click(function () { $.ajax({ type: "GET", url: "/WC_Index/Ajax_Index", data: "name=" + txtname.val(), //要发送的数据 dataType: "json", success: function (data){ $.each(data.Mean, function (i, n) { alert(n.CustomerID + " " + n.Customer_Name); }); } }); });
我如何重新绑定这个页面呢的菜单呢?没怎么搞过dom节点 大侠帮帮忙
<ul id="listTabe"> @foreach (System.Data.DataRow item in Model.menu.Rows) { <li><a id="MeauID" href='@Url.Action("UrlJquery", "WC_Index", new { id = @item["CustomerID"] })' >@item["Customer_Name"]</a></li> } </ul>
如图:
我点击jet后得到了服务器返回的数据 我现在只要让下面的列表值显示jet
生成的html源码
:
<ul id="listTabe"> <li><a id="MeauID" href="/WC_Index/UrlJquery/5">TESTING-BELITUNG</a></li> <li><a id="MeauID" href="/WC_Index/UrlJquery/160">jet</a></li> <li><a id="MeauID" href="/WC_Index/UrlJquery/183">primajasa</a></li> </ui>
现在是我输入jet 能够绑定 jet 但是问题来了 我没有输入 (我后台返回的是全部的数据)但是我前天只绑定了最后一个 因为我没有循环绑定?
但是我这样写 不行啊!
$("#Jquery").click(function () {
$.ajax({
type: "GET",
url: "/WC_Index/Ajax_Index",
data: "name=" + txtname.val(), //要发送的数据
dataType: "json",
success: function (data) {
$.each(data.Mean, function (i, n) {
alert(n.CustomerID + " " + n.Customer_Name);
alert(n.Length);
alert(data.Mean.Count);
$("#listTabe li").empty();
for (var i = 0; i < data.Mean.Count; i++) {
$("#listTabe").html($("#listTabe").html() + '<li><a id="MeauID" href="/WC_Index/UrlJquery/' + n.CustomerID + '">' + n.Customer_Name + '</a></li>');
}
});
}
});
});
alert(n.CustomerID + " " + n.Customer_Name); 把这句话换成往listTabe添加元素不就可以了
可以写成
$("#listTabe").html($("#listTabe").html()+'<li><a id="MeauID" href="/WC_Index/UrlJquery/'+n.CustomerID+'">'+n.Customer_Name+'</a></li>');
具体你再修改下,可能有语法错误,没有调试过。
好的
@s_p: 在大侠 你的这个方法可以 了 但是我完善下 还有个问题
就是我没有输入的时候他只绑定最后一个 所以我要循环绑定 但是我加这个 没有效果 我那么写错了啊!
$.each(data.Mean, function (i, n) { alert(n.CustomerID + " " + n.Customer_Name); alert(n.Length);//undefined alert(data.Mean.Count);//undefined $("#listTabe li").empty(); for (var i = 0; i < data.Mean.Count; i++) { $("#listTabe").html($("#listTabe").html() + '<li><a id="MeauID" href="/WC_Index/UrlJquery/' + n.CustomerID + '">' + n.Customer_Name + '</a></li>'); } });
我怎么样得到这个总数呢?
@s_p:
要根据你的data地结构来的,你要在each的循环外把
$("#listTabe").html("");//清空
$.each(data.Mean, function (i, n) {
alert(n.CustomerID + " " + n.Customer_Name);
$("#listTabe").html($("#listTabe").html() + '<li><a id="MeauID" href="/WC_Index/UrlJquery/' + n.CustomerID + '">' + n.Customer_Name + '</a></li>'); });
这样应该是可以,具体要调试。
不是很懂需求,你都会用 jq ajax ,去看看 jq 的选择器 和 文档处理 那块吧,jq 做 dom 操作还是比较简单的。
<ul id="listTabe"> <li><a id="MeauID" href="/WC_Index/UrlJquery/5">TESTING-BELITUNG</a></li> <li><a id="MeauID" href="/WC_Index/UrlJquery/160">jet</a></li> <li><a id="MeauID" href="/WC_Index/UrlJquery/183">primajasa</a></li> </ui>
MeauID 这个id的表示尽量不要相同,否则不方便你的dom处理,如果你只要jet的话,可以使用jquery的 contains的这个函数