그래서 내가 할 노력하고있어 것은 그들이 이미 일단 페이지로 다시 작성되는 테이블 헤더를 <th>Username</th>
등 ...을 방지하거나 results
에 존재하는 분명한 중 하나이다 존재하는 경우 JQuery와 확인 요소를 만들고 다시 작성하십시오. 내가 시도하는 것은 아무것도 작동하지 않는 것 같습니다. 또는 < 1
또는 < 2
을 확인하려고하는데 .get(0)
, .text("")
을 확인하려고 시도했지만 아무 것도 작동하지 않는 것으로 보입니다. this post here. 그냥 헤더를 다시 작성하거나 전혀 쓰지 않습니다. 헤더 대신 결과 만 추가하거나 바람직하게는 의 결과를 지우고 매번 버튼을 클릭 할 때 모든 것을 다시 쓰길 원합니다. 문제는, 내가 버튼을 매번 클릭 할 때, 나는 길이가 0에서 시작됩니다 또는 entryIndex 당신은 각 기능을 사용하여 배열의 색인을 다시 0HTML 테이블 헤더가 이미
<div>
<h4>Results</h4>
<table class="table" style="white-space: nowrap" id="results">
</table>
</div>
<script>
$('#lookup').click(function (event) {
strUser = $('#userid').val();
lookfor = JSON.parse('{ "username":"' + strUser + '" }');
$.ajax({
type: "POST",
url: "/Home/FindUser",
data: lookfor,
}).done(function (data) {
var html = ""
if ($('#results').length < 2) {
html += "<tr>"
html += "<th>Username</th>"
html += "<th>Server</th>"
html += "<th>App</th>"
html += "</tr>"
}
var err = ""
$.each(data, function (entryIndex, entry) {
if (entry.ErrorMessage) {
err = "<tr>"
err += "<td>" + entry.ErrorMessage + "</td>"
err += "</tr>"
} else {
html += "<tr>"
html += "<td>" + entry.UserId + "</td>"
html += "<td>" + entry.ServerName + "</td>"
html += "<td>" + entry.AppName + "</td>"
html += "</tr>"
}
});
if (err.length > 0) {
$('#results').append($(err));
} else {
$('#results').append($(html));
}
});
});
</script>
동시성 문제처럼 보입니다. 각 기능 내부에서 헤더 체크가 필요합니다. –
몇 번 시도해 보니 문제에 대한 내용이 변경되지 않았습니다. 루프에 넣든지 상관없이 같은 문제. 결과 요소의 길이가 무엇 인지도 모르겠다. –
반환 된 결과를 보려면 길이를 콘솔에 기록 했습니까? –