Javascript 将变更事件绑定到a<;选择>;由ajax请求填充
在我的项目中有两个元素,第一个元素有一个变更监听器,它像这样填充第二个元素Javascript 将变更事件绑定到a<;选择>;由ajax请求填充,javascript,jquery,ajax,drop-down-menu,Javascript,Jquery,Ajax,Drop Down Menu,在我的项目中有两个元素,第一个元素有一个变更监听器,它像这样填充第二个元素 <select id="user_id" style="width: 100%;"> <option value=""></option> <?php foreach ($clients as $client) : ?> <option value="<?php echo $client['Client']['id'] ?>"
<select id="user_id" style="width: 100%;">
<option value=""></option>
<?php foreach ($clients as $client) : ?>
<option value="<?php echo $client['Client']['id'] ?>"><?php echo $client['Client']['name'] ?></option>
<?php endforeach; ?>
</select>
<select id="pet_id" style="width: 100%;" disabled>
<option value=""></option>
</select>
我做错了什么
提前感谢。您使用
.change()
作为#user_id,然后切换到trying.on/.bind作为#pet_id?在代码中添加新事件的原因是什么?@MarcB因为我正在用ajax请求填充#pet_id,我已经试过了,但都不起作用。@Michahenning我在html页面中有一个。你是在$(文档)中做的。准备好了吗?
$('#user_id').change(function() {
var client = {
client_id: $(this).val()
};
$.ajax({
type: "POST",
url: "<?php echo Router::url(array ('controller' => 'grooming', 'action' => 'getClientById')); ?>",
data: client,
success: function(data)
{
var json = JSON.parse(data);
if (json.result === "success") {
$('#pet_id').select2('data', null);
$('#pet_id').empty();
$.each(json.list, function()
{
$('#pet_id').append($("<option/>").val(this.breed_id).text(this.name));
});
if(!$('#pet_id').is(':enabled')){
$('#pet_id').removeAttr('disabled');
}
}
else
{
$('#pet_id').attr('disabled', 'disabled');
$('#pet_id').select2('data', null);
$('#pet_id').empty();
}
}
});
});
$('#pet_id').on('change',function (){
alert('finally worked :)');
});
$('#pet_id').bind('change',function (){
alert('finally worked :)');
});