大家好,这是我学习网络开发的第一年,我决定在个人项目上工作,以熟悉网络开发世界。**解释:**我实际上是在尝试使用SELECT2下拉菜单和 AJAX 设计一个依赖下拉菜单,所以简单解释一下,一个客户通常是一家公司,可以有一个或多个打印机,这些打印机是由他们的代码跟踪。现在我希望属于一个客户的所有打印机在多个select2下拉菜单中被选中,一旦该客户被选中。**问题:**我在ajax中使用GET类型,我发现很难将选定的客户值作为参数传递到URL中,并在第二个下拉框中动态显示结果。有人能帮助我吗?我太绝望了,下面是我的代码。
PHP服务器
$customerCode = $_GET['customer'];
$ivccodeArray = getPrinterCodesByCustomer($customerCode);
echo json_encode($ivccodeArray);
来自服务器的JSON编码结果
[{"ivc_code":"IVC0001","model_id":"32","print_model_id":"32","print_model_name":"ECOSYS M3655idn"},
{"ivc_code":"IVC0002","model_id":"85","print_model_id":"85","print_model_name":"TASKalfa MZ4000i"},
{"ivc_code":"IVC0003","model_id":"57","print_model_id":"57","print_model_name":"TASKalfa 3212i"}]
超文本标记语言
<select name='customer' id='customer' class='form-control' required>
<option value=''>Select a Customer</option>
<option value="cus1">customer1</option>
<option value="cus2">Customer2</option>
<option value="cus3">Customer3</option>
</select>
<select name='customer' id='ivcCode' class='form-control' required multiple>
<option value="?=ivc_code?>"><?=print_model_name?></option>
</select>
JS系统
<script>
$("#customer").select2({theme:"bootstrap4",placeholder:"Select an option"}),
$("#ivcCode").select2({
theme:"bootstrap4",
ajax: {
url: '/mysite/call/pm/?action=printer_codes&customer',
type: 'GET',
data: function (params) {
return {
$("#customer").val(),
search: params.term
}
},
dataType: "json",
success: function(html) {
alert(html)
document.getElementById("ivcCode").innerHTML = html;
$('#' + customer).select2();
}
},
})
</script>
1条答案
按热度按时间kq4fsx7k1#
您的URL
未指定客户值。您需要附加该值,如下所示:
因此,我们使用
=
符号将customer
参数与其值分隔开,并通过+
运算符将实际值连接到URL。