我是這個論壇的新手,我想告訴你我的問題。
我需要一個多搜索欄位,當我輸入第一個字母時,我通過對 php 中的檔案進行的 AJAX 呼叫獲得結果,問題是在我克隆的第二個輸入欄位中,AJAX 掃描不起作用并且我不建議出來。那么我怎樣才能讓多個搜索欄位作業呢?
我附上代碼讓你更好地理解。謝謝你們。
<div class="cont">
<input type="text" class="form-control search" id="search">
<button id="add" onClick="add()"> </button>
</div>
<table class="table table-hover">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>City</th>
<th>Salary</th>
</tr>
</thead>
<tbody id="output">
</tbody>
</table>
function add(){
$("#search").clone().val("").attr("id", "search").appendTo(".cont");
}
$("#search").keyup(function(){
$.ajax({
type:'POST',
url:'search.php',
data:{
name:$(this).val(),
},
success:function(data){
$(".#output").html(data);
return data;
}
});
});
我按照你說的做了,但是第二個輸入中的ajax呼叫不起作用,我應該呼叫ajax函式讓它在新輸入上作業嗎?我怎么辦?
非常感謝大家,我解決了
uj5u.com熱心網友回復:
您需要識別類搜索.. 您正在呼叫一個應該是唯一的ID
克隆時洗掉 ID 屬性并使用 addClass('search')
$("#search").clone().val("").addClass("search").appendTo(".cont");
然后更改您的選擇器: $("#search")
到 $(".search")
實際上,在 keyup 上使用類搜索呼叫任何元素
更新
正如評論中提到的@ADyson .. 您將需要進行按鍵bind操作.. 最簡單的方法是使用on()(來自已棄用的.live())。IE:
$(document).on('keyup', '.search', function(){
完整片段:
function add(){
$("#search").clone().val("").addClass("search").appendTo(".cont");
}
$(document).on('keyup', '.search', function(){
alert('Call AJAX');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cont">
<input type="text" class="form-control search" id="search">
<button id="add" onClick="add()"> </button>
</div>
<table class="table table-hover">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>City</th>
<th>Salary</th>
</tr>
</thead>
<tbody id="output">
</tbody>
</table>
查看API 檔案以獲取通過處理的事件的完整串列.on()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/370095.html
上一篇:使用2個特定鍵檢查值是否在陣列中
