1

選択したフィールドにonchangeイベントがあります。今ではうまく機能します。ドロップダウン「ネットワーク」が変更されると、2番目のドロップダウンが更新されます。また、上部のajaxコードが、ページの読み込み時と変更時にトリガーされるようにして、2番目のリストにデータが入力されるようにします。これは、編集ページにあるためです。これが最初に使用したajax呼び出しimです

function get_cities(networks) {
    $.ajax({
        type: "POST",
        url: "select.php", /* The country id will be sent to this file */
        beforeSend:     function () {
            $("#folder").html("<option>Loading ...</option>");
        },
        //data: "idnetworks="+networks,
        data: "idnetworks="+networks +"&doc="+ <?php echo $row_rs_doc['parentid']; ?>,
        success: function(msg){
            $("#folder").html(msg);
        }
    });
} 

今2つのドロップダウンボックス

<label for="networks"></label>
<select name="networks" id="networks" onChange='get_cities($(this).val())'>
    <?php
    do {  
    ?>
        <option value="<?php echo $row_rs_net['idnetworks']?>"<?php if (!(strcmp($row_rs_net['idnetworks'], $row_rs_doc['network']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rs_net['netname']?></option>
    <?php
    } while ($row_rs_net = mysql_fetch_assoc($rs_net));
    $rows = mysql_num_rows($rs_net);
    if($rows > 0) {
        mysql_data_seek($rs_net, 0);
        $row_rs_net = mysql_fetch_assoc($rs_net);
    };
    ?>
</select>
<select name="folder" id="folder">
</select>
4

3 に答える 3

1

を使用.trigger()して、選択ボックスでイベントをトリガーできるchangeため、ユーザーがオプションを切り替えた場合と同じようにonchangeコードが呼び出されます。

jQuery('#networks').trigger('change');

これをページのロードイベント/関数に含めるだけです。

jQuery(document).ready(function() {
    jQuery('#networks').trigger('change');
});
于 2012-07-18T13:19:42.220 に答える
0

get_cities($('#networks').val())DOMの準備ができたら電話をかけることはできませんか?

$(function() { // will be run by jQuery when DOM is ready
  get_cities($('#networks').val());
});
于 2012-07-18T13:19:23.537 に答える
0

私はあなたが何を望んでいるのか100%明確ではありませんが、ページがロードされたときにJQueryで何かをする標準的な方法は使用することです

$(document).ready(handler)

これは、ページが「準備完了」になるまで待機します。

したがって、ドキュメントヘッドには、次のようなものがあります...

<script type="text/javascript">
$(document).ready( function(){
  do_some_stuff();
});
</script>
于 2012-07-18T13:17:31.540 に答える