![](/img/trans.png)
[英]How can I prevent a click event from executing the same query when the triggering link is clicked twice in a row
[英]How to prevent click event from executing when selecting an option?
我有一個 select 在輸入商店和日期范圍時動態填充,我對其進行配置,以便在按下相同的 select 事件后,與員工一起完成 select。 問題出現了,當我加載員工列表和 select 任何一個時,再次執行 ajax 請求並自動將我更改為列表中的第一個。 例如,當我單擊 select 時,它會顯示 a、b 和 c,當我單擊 c 時,它會選擇 a。 我在某些頁面上閱讀過有關使用一個事件的信息,但問題是,如果我更改商店,我仍然會看到首先選擇的商店的員工,我也嘗試了更改事件,並且直接沒有填充員工,我用e.preventDefault、e.stopImmediatePropagation和e.stopPropagation()試過了,還是不行。 我分享代碼,看看你是否可以幫助我。 非常感謝。
$(document).ready(function(){
$("#user").on("click", function(e) {
var dFec = $('#dFec').val();
var hFec = $('#hFec').val();
var store= $('#store').val();
fillUser(store,dFec,hFec);
});
});
function fillUser(store,dFec,hFec){
var request = $.ajax({
url: "getUser.php",
method: "POST",
data: {store: store, dFec:dFec, hFec:hFec},
dataType: "html",
error: function(){
alert("error");
},
});
request.done(function( msg ) {
$( "#user" ).html(msg);
});
}
HTML
<h5 class="h3 font-weight-normal text-white text-center bg-info" style="width:35%; margin:auto;">Store</h5>
<div class="form-group text-center">
<select name="store" id="store" class="form-control form-control-sm" style="width:35%; margin:auto;">
<option value="0">Select Store</option>
<?php while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) { ?>
<option value="<?php echo $row['id_store']; ?>"><?= $row['nameStore']; ?></option>
<?php } ?>
</select>
</div>
<h5 class="h3 font-weight-normal text-white text-center bg-info" style="width:35%; margin:auto;">Fecha</h5>
<table class="table table-sm text-center" style="margin:auto; width:35%">
<tr>
<th>From</th>
<th>To</th>
</tr>
<tr>
<div id="picker"></div>
<td><input name="dFec" id="dFec" readonly="readonly" style="text-align:center"></td>
<div id="picker1"></div>
<td><input name="hFec" id="hFec" readonly="readonly" style="text-align:center"></td>
</tr>
<div id="other">
</div>
</table>
<h5 class="h3 font-weight-normal text-white text-center bg-info" style="width:35%; margin:auto;">user</h5>
<div class="form-group text-center">
<select name="user" id="user" class="form-control form-control-sm" style="width:35%; margin:auto;"></select>
</div>
獲取Usuario.php
//query and stmt are at beggining of the code
$store = $_POST['store'];
$dFec = date("Ymd", strtotime($_POST['dFec']));
$hFec = date("Ymd", strtotime($_POST['hFec']));
while ($rowB = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC))
{
$html.= "<option value='".$rowB['user']."'>".$rowB['user']."</option>";
}
echo $html;
改變一些東西並讓它以這種方式工作,我希望它會為其他需要它的人服務。 我感謝您的合作。 問候
$(document).ready(function(){
$("#store").change(function(){
var dFec = $('#dFec').val();
var hFec = $('#hFec').val();
var store= $('#store').val();
fillUser(store,dFec,hFec);
});
});
$(document).ready(function(){
$("#hFec").change(function(){
var dFec = $('#dFec').val();
var hFec = $('#hFec').val();
var store= $('#store').val();
fillUser(store,dFec,hFec);
});
});
$(document).ready(function(){
$("#dFec").change(function(){
var dFec = $('#dFec').val();
var hFec = $('#hFec').val();
var store = $('#store').val();
fillUser(store,dFec,hFec);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.