gpt4 book ai didi

javascript - jQuery 下拉选择事件

转载 作者:行者123 更新时间:2023-11-28 20:22:42 24 4
gpt4 key购买 nike

当用户选择下拉框中的项目时是否有特定事件?我正在创建一个相当大的表单,使用多个下拉框。加载时,除了第一个之外的所有选项都被禁用,当用户选择第一个选项时,第二个框中的选项会使用 AJAX 进行更改,我想删除禁用的属性。

$('#site_id').on('change', function(event) {
$('#access_type_id').removeAttr('disabled');
});

我遇到的问题是,当下拉列表中的选项发生变化时,.change() 似乎会被触发,从而在我真正想要它们之前启用以下下拉框。是否有一个替代事件可以用来代替更改,以便在用户在上一个下拉列表中做出选择后仅“启用”表单字段?

更新

我设法通过根本不使用更改事件并将removeAttr 放在 AJAX 调用的成功部分来解决此问题。下面是一个例子。这使我能够在填充其选项时启用“下一个”下拉列表。

$('#access_speed_id').on('select2-blur', function(event){
$.ajax({
async: true,
data: $('#access_speed_id').serialize(),
dataType: 'html',
success: function(data, textStatus) {
$('#cdr_id').removeAttr('disabled');
$('#cdr_id').html(data);
},
type: 'post',
url: '/services/specificCdrs'
});
});

最佳答案

尝试下面的代码:

<select id="drop1">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select id="drop2"></select>

Jquery

$(document).ready(function(){
$("#drop2").attr("disabled", true);
$("#drop1").change(function(){
$("#drop2").attr("disabled", false);
//Put your ajax code here and bind like below code
$("#drop2").append(new Option("option text", "value"));
$("#drop2").append(new Option("xxx","1"));
});
});

演示:http://jsfiddle.net/J5kmz/

关于javascript - jQuery 下拉选择事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17966286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com