0

私は代理店DBを持っています。各機関には、動的/ajax オプションを使用した 3 つのチェーン選択があります:
- 国
- 州
- 場所

代理店を追加する場合: ユーザーが国の選択を変更すると、その.change()イベントが発生し、その国の州が「州」の選択などに読み込まれます。

ユーザーが代理店の情報/データを変更すると、問題が発生します。現在の代理店の国、州、および場所をそれぞれの選択で(phpを使用して)ロードしますが、(document).ready発火すると選択が変更されます。

change動的にチェーンされた選択ごとにイベントのダイナミクスを機能させたいのですが、それ.change()が発生しないようにするにはどうすればよい(document).readyですか? つまり、「初めて」のイベントが発生します

連鎖選択のコード
http://jsfiddle.net/LWPVm/

多分別のアイデア?

どうもありがとう

4

2 に答える 2

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 に答える
1
$(document).load(function(){
   $db.change(function(){
      event.stoppropagation();
});

伝播を停止します。ページの読み込み中に動作するはずです。document.ready() の実行中にこの関数を呼び出さないように注意してください。伝播が全体的に停止するため、次を使用することもできます。

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