所以我寫了 jquery 函式:
$('.search').on("click", function () {
let searchString = $('.search-input').val();
$.ajax({
url: '/search',
type: 'POST',
data: {
search: searchString
},
success:function (response) {
$('.searchInsert').children().remove();
for(let i = 0; i < response.data.length; i ) {
let searchResult = `
<tr >
<th scope="row">${response.data[i].category_title}</th>
<td>${response.data[i].category_description}</td>
<td >
<div ></div>
</td>
</tr>
`
console.log(searchResult);
$('.searchInsert').html(searchResult);
}
},
error: function (errors) {
console.log(errors)
}
})
})
除了我所做的之外,我還在控制臺中看到了它。表格填滿了列,我得到了匹配項。但我總是只得到 1 個結果并列印出來。
為什么會這樣?有人可以解釋一下。
uj5u.com熱心網友回復:
您每次都只得到最后一個搜索結果?
因為當你的回圈運行時,它會將每次迭代輸出到控制臺(這就是你看到所有這些迭代的原因),但是當它填充 searchResult 變數時,它不會在回圈的下一次迭代中添加它,它只是覆寫它,所以在回圈結束時它只保存一次迭代——最后一次。
代替 :
let searchResult = `
試試怎么樣
var searchResult = "";
$('.searchInsert').children().remove();
for(let i = 0; i < response.data.length; i ) {
searchResult = [your code here]
}
這會將回圈的每次迭代附加到 searchResult 變數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411084.html
標籤:
