生病了我的代码:
$(function() {
$("#employeeName").keyup(function() {
var dataString = 'find='+ $("#employeeName").val();
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "finduser.php",
data: dataString,
success: function(response) {
//On success
$("#search").html(response);
}
});
return false;
});
});
这是我搜索员工姓名的ajax
我的html看起来与此相似:
<input type='text' id='employeeName' name='employeeName'>
<select id='search' name='id'></select>
<input type='submit'>
基本上,它搜索数据库并返回<option>
,其中用户的ID为值,名称为名称,例如:<option value='5'>John Doe</option>
这一切都很有效,除了当我选择一个名字并提交表单时,它不会发送该人选择的更新选项,它只是发送一个空白选择(所以$_POST['id']
没有存在并抛出错误。
我还能怎么做才能做到这一点?我尝试将onchange="$('#employeeName').val($(this).val())"
添加到select中,这样当他们选择一个名称时,它会更新搜索框,他们可以通过这种方式提交表单,但这无济于事。
答案 0 :(得分:0)
如果$_POST['id']
不存在,那么您的选项可能没有value
。
如果$('#search').val()
产生一个整数,但是当您提交表单时它不存在,那么您的<select>
不是表单的一部分,或者值在提交时更新,或者您提交了GET
个请求,以便通过$_GET['id']
提供您的价值。
method="POST"
$('#the-form').serialize()
包含“id = 5”。答案 1 :(得分:0)
在回复中尝试以下代码:它为我工作
$("#search option").remove(); // Remove all <option> child tags.
$("#search").append($("<option></option>").text("All").val(""));
$.each(responset, function(index, item) { // Iterates through a
// collection
$("#search").append($("<option></option>").text(item).val(item));