我無法使用ID訪問技能值,但可以訪問finduserType值。一起致電變更並點擊事件jquery
我不知道爲什麼,它應該調用change事件和click事件。
$(function() {
$("#findUserType").change(function() {
var user_type = $("#findUserType").val();
var skills = $("#skills").val();
var phone = $("#phones").val();
var src = '{{Request::root()}}/api/user/suggestion/email';
var srcPhone = '{{Request::root()}}/api/user/suggestion/phone';
/* var skills = $("#skills").val();
var phone = $("#phones").val();*/
// Load the Users from the server, passing the usertype as an extra param
$("#skills").autocomplete({
source: function(request, response) {
$.ajax({
url: src,
method: 'GET',
dataType: "json",
data: {
term : skills,
user_type : user_type
},
success: function(data) {
response(data);
}
});
},
min_length: 3,
delay: 300
});
// Load the Users from phone to the server, passing the usertype as an extra param
$("#phones").autocomplete({
source: function(request, response) {
$.ajax({
url: srcPhone,
dataType: "json",
data: {
term : phone,
user_type : user_type
},
success: function(data) {
response(data);
}
});
},
min_length: 3,
delay: 300
});
});
});
<form>
<div class="input-group">
<select class="form-control" id="findUserType" name="finduser">
<option value="">--Select--</option>
<option value="2">D</option>
<option value="3">P</option>
</select>
</div>
<div class="input-group">
<input type="text" id="skills" class="form-control">
<input type="text" id="phones" class="form-control" name="phone">
</div>
</form>
更新代碼,請看看究竟我要去堅持不採取電子郵件的價值觀。當我調用ajax更改事件時,它確實工作正常,但技能值沒有任何價值。還建議我如何壓縮此代碼。我只是想根據技能和電話價值檢查變化事件調用ajax。
您的JavaScript代碼中存在拼寫錯誤。您將在代碼結束時一直關閉第一個事件處理程序分配,而不是在事件處理程序結束時。所以其他事件處理程序被認爲是*裏面的第一個函數。 (提示:格式化您的代碼並使用明智的縮進使得這一點很明顯。) – David
在另一個事件處理程序中定義事件處理程序是一個壞主意。內部事件處理程序不僅不會在第一個事件發生之前處於活動狀態,而且會在第一個事件重複時積累許多相等的事件處理程序:so:不要嵌套事件處理程序。 – trincot