0

連鎖選択システムを生成するスクリプトを Web サイトに追加しました。問題なく動作しますが、検索スクリプトにデータをフェッチしようとしたときに、使用できるソース コードが生成されないことに気付きました。この問題を解決するために重要だと思われる部品を添付します。値下げ前に教えてください。ありがとう!

<script type="text/javascript">
$(document).ready(function() {
    $('#wait_1').hide();
    $('#judet').change(function(){
      $('#wait_1').show();
      $('#result_1').hide();
      $.get("func.php", {
        func: "judet",
        drop_var: $('#judet').val()
      }, function(response){
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      });
        return false;
    });
});

function finishAjax(id, response) {
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}
</script>

HTML 部分:

<tr>
                                        <td><label>Judet</label></td>
                                        <td><select name="judet" id="judet">
                                                <option value="" selected="selected" disabled="disabled">Selecteaza judetul</option>
                                                 <?php getTierOne(); ?>
                                            </select></td>                                                                          
                                    <tr>
                                        <td><label>Localitate</label></td>
                                        <td>
                                            <span id="wait_1" style="display: none;"><img alt="Asteptati..." src="images/ajax-loader.gif"/></span> 
                                            <span id="result_1" style="display: none;"></span>
                                        </td>
                                    </tr>

PHP の部分:

function judet($drop_var)
{  
    include_once('mysql_connect.php');
    $result = mysql_query("SELECT * FROM orase WHERE judet='$drop_var'") 
or die(mysql_error());

echo '<select name="tier_two" id="tier_two">
      <option value=" " disabled="disabled" selected="selected">Selecteaza localitatea</option>';

       while($drop_2 = mysql_fetch_array( $result )) 
        {   
          echo '<option value="'.$drop_2['oras'].'">'.$drop_2['oras'].'</option>';
        }

echo '</select>';
}
4

1 に答える 1

0

私の場合、問題は比較的単純でしたが、解決策を見つけるために一日中努力し続けることをやめませんでした。今日はいくつかのことを学び、スクリプトが機能するようになったので、最終的にはすべてうまくいきました。私がしなければならなかったのは、次のように html 部分に別の非表示の入力を追加することだけでした:

<input type='hidden' name="locatie" value="<?php echo $_POST['tier_two']; ?>" >

次に、その値を取得し、$_POST['tier_two']; に等しい変数を使用して、必要な場所で使用することができました。この問題が発生した場合は、Ajax でソース コードが期待どおりに表示されないことに注意してください。Firebug または同様のツールが必要になります。ただし、今回は使用せずに問題を解決しました。幸運を!

于 2013-08-15T21:04:53.740 に答える