我正在尝试制作一个更改我的选择内容的ajax请求。
这是我的要求:
$(function() {
$("#client").change(function() {
type: 'GET',
url: "jsonContacts.php",
dataType: "json",
data: {
q: $("#client").val()
},
success: function(data) {
document.form.contactClient.options.length=0;
document.form.contactClient.options[0]=new Option("Test", "test", true, false);
for(var i=0; i<data.length; i++) {
}
}
});
});
我的表格是:
<FORM name='devis' method='POST' action='ajoutDevisScript.php' id='form' onsubmit="return validateForm()" >
<p>
<label for="client">Client</label>
<input type='text' id='client' name='client' required>
</p>
<p>
<label for="contactClient">Contact client</label>
<SELECT name="contactClient" id="contactClient">
</SELECT>
</p>
</form>
我希望当'客户端'的文本发生变化时,请求会更改我的SELECT数据但是,我的测试选项根本不显示。
谢谢!
答案 0 :(得分:1)
当你使用jQuery时,你可以这样做:
$('#contactClient').append($('<option>', {
value: 'Test',
text: 'test',
selected: true
}));
答案 1 :(得分:0)
如果您使用jQuery,也可以使用它来填充选择。
success: function(data) {
$("#contactClient").html("");
$("#contactClient").append("<option value='test' selected>Test</option>");
for(var i=0; i<data.length; i++) {
}
}
答案 2 :(得分:0)
收听文本框上更改事件旁边的keyup事件。你可以像
那样做$(function() {
$("#client").keyup(function() {
type: 'GET',
url: "jsonContacts.php",
dataType: "json",
data: {
q: $("#client").val()
},
success: function(data) {
var html = '';
$.each(data,function(i,k){
html += '<option value="'+k.val+'">'+k.text+'</option>';
});
$('#contactClient').html(html);
}
});
});
希望它对你有所帮助。