使用从数据库返回的一些数据。所有数据都以表格形式返回,具体为td。返回数据的标记就是这样
<table border=1>
<tr>
<td>Field Name</td>
<td>Field Value</td>
</tr>
<tr>
<td>SuccessFlag</td>
<td>False</td>
</tr>
<tr>
<td>ResponseMessage</td>
<td>Invalid email address, Invalid User Name, etc., etc</td>
</tr>
</table>
在我的错误处理中,我能够到达第6个td并显示错误没问题。
success: function(data) {
var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").text();
if (answer==="True") {
$("#bottomContent").load("page.php #div");
} else {
$('#processing').hide();
$('input[type="text"], input[type="password"]').val("");
$('#messageBox').show().html('<ul><li>' + message + '</li></ul>');
}
}
不幸的是,它会输出一个li中的所有内容。我想弄清楚如何在','处拆分它们,并在拆分后为每个项目创建一个单独的li。
答案 0 :(得分:2)
我知道这个解决方案不使用jQuery,但你考虑过使用knockoutjs。它显着简化了客户端数据绑定。
<ul data-bind="foreach: errorMessages ">
<li>
<label data-bind="text: title"></label>
</li>
</ul>
<script>
// Use knockout observable array
var errorMessages = ko.observableArray();
success: function(data) {
var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").text();
if (answer==="True") {
$("#bottomContent").load("page.php #div");
} else {
$('#processing').hide();
$('input[type="text"], input[type="password"]').val("");
// Knockout array will automatically bind to your DOM
this.errorMessages(message);
}
}
</script>
您可能需要将“message”变量人工处理为JSON集合而不是表格。