我有一个代理机构DB。每个机构都有(其中包括)3个具有动态/ ajax选项的链式选择:
- 国家
- 州
- 位置
添加代理商时:如果用户更改了国家/地区选择,则其.change()
事件将触发并在“州”选择中加载该国家/地区的状态,依此类推。
当用户修改代理商的信息/数据时,问题就会出现。我在相应的选择中加载(使用php)当前机构的国家,州和位置,但是当(document).ready
触发时,选择会被更改。
虽然我想让change
事件的动态保持适用于每个动态链式选择,但我该如何避免.change()
在(document).ready
被触发?我的意思是,“第一次”事件发生
链式代码选择
http://jsfiddle.net/LWPVm/
也许是另一个想法?
非常感谢
答案 0 :(得分:1)
$(document).load(function(){
$db.change(function(){
event.stoppropagation();
});
将停止传播。应该在页面加载时工作。注意不要在document.ready()时调用此函数,因为传播将被整体停止,你也可以使用:
$db.change(function(){
event.preventDefault();
});
答案 1 :(得分:1)
我可以通过删除最后一个.change()来解决这个问题。打电话给每个功能。
这个.change被迫在(文件).ready上发起事件。我现在记得我需要这样链接选择工作正常。希望这对其他人有用。
jQuery('#selProvincia').change(function(){
var val = this.value;
jQuery.post('<?php echo site_url("funciones_ajax/obtener_departamentos"); ?>/'+val,
{ },
function(data) {
var sel = jQuery("#selDepartamento");
sel.empty();
for (var i=0; i<data.length; i++) {
sel.append('<option value="' + data[i].id + '">' + data[i].nombre + '</option>');
}
}, "json"); }).change();