0

我有一个机构数据库。每个机构(除其他外)都有 3 个带有动态/ajax 选项的链式选择:
- 国家
- 州
- 位置

添加代理时:如果用户更改国家/地区选择,则其.change()事件会触发并在“州”选择中加载该国家/地区的状态,依此类推。

当用户修改机构的信息/数据时,就会出现问题。我在各自的选择中加载(使用 php)当前机构的国家、州和位置,但是当(document).ready触发时,选择会改变。

尽管我想保持change每个动态链接选择的事件动态工作,但我该如何避免.change()被解雇(document).ready?我的意思是,“第一次”事件触发

链式选择的代码
http://jsfiddle.net/LWPVm/

也许是另一个想法?

非常感谢

4

2 回答 2

1
$(document).load(function(){
   $db.change(function(){
      event.stoppropagation();
});

将停止传播。页面加载时应该可以工作。注意不要在 document.ready() 时调用此函数,因为传播将整体停止,您也可以使用:

$db.change(function(){
   event.preventDefault();
});
于 2013-02-26T14:37:12.077 回答
1

我可以通过删除最后一个 .change(); 来解决这个问题。调用每个函数。
这个 .change 强制在 (document).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();
于 2013-02-26T14:45:05.223 回答