我尝试使用ajax调用选择的jquery:https://harvesthq.github.io/chosen/
我的HTML是:
<div class="form-group m-b logiciel">
<label>Logiciel concerné</label>
<select id="logiciel" name="logiciel" class="chosen">
</select>
</div>
我的第一个脚本是:
$(document).ready(function () {
$("#logiciel").load('ajax/ticket_add_select.ajax.php?id=' + $('#client').val());
$("#logiciel").trigger('chosen:updated');
$("#logiciel").chosen();
});
我的第二个是(#ticket_type是另一个选择的):
$(function () {
$('#client').on('change', function () {
var id = this.value;
$("#logiciel").load('ajax/ticket_add_select.ajax.php?id=' + id);
$("#logiciel").trigger('chosen:updated');
});
});
当我在第一次选择时选择某些内容时,一切正常,但在第一次加载时,第二次选择为空。 Ajax没问题,我可以在日志中看到结果。
有人会做出类似的事情吗?
答案 0 :(得分:2)
我猜你想要运行这些:
$("#logiciel").trigger('chosen:updated');
$("#logiciel").chosen();
完成后:
$("#logiciel").load('ajax/ticket_add_select.ajax.php?id=' + $('#client').val());
由于.load()
是异步的,您必须使用.load()
调用的完成处理程序才能知道它何时完成:
$(document).ready(function () {
$("#logiciel").load('ajax/ticket_add_select.ajax.php?id=' + $('#client').val(), function() {
$("#logiciel").trigger('chosen:updated').chosen();
});
});
$(document).ready(function () {
$('#client').on('change', function () {
var id = this.value;
$("#logiciel").load('ajax/ticket_add_select.ajax.php?id=' + id, function() {
$("#logiciel").trigger('chosen:updated');
});
});
});