0

言語: PHP、JQuery、MySQL

質問は「簡単」です。私は php と jquerys に 3 つの依存関係があります。コードは新しい情報を挿入するためにうまく機能しますが、今は更新したいので、最初に現在の情報を読み込む必要があります。方法がわからない場合は、コードの一部を追加します。それ以上の部分が必要な場合は、投票する前に質問してください。

コードは次のようなものです。

      <tr>
        <td class="main"><?php echo ENTRY_COUNTRY; ?></td>
        <td class="main">
                    <select id="country" name="country">
                        <option value="0">Select One...</option>
                    </select>
            </td>
      </tr>
      <tr>
        <td class="main"><?php echo ENTRY_STATE; ?></td>
        <td class="main">
                <select id="state" name="state">
                    <option value="0">Select One...</option>
                </select>
        </td>
      </tr>
          <tr>
        <td class="main"><?php echo ENTRY_CITY; ?></td>
        <td class="main">
                <select id="city" name="city">
                    <option value="0">Select One...</option>
                </select>
        </td>
      </tr>

3 つは、次のようなアクションによって mysql のデータベースからロードされます。

<script type="text/javascript">
$(document).ready(function(){
    cargar_paises();
    $("#country").change(function(){dependencia_estado();});
    $("#state").change(function(){dependencia_ciudad();});
    $("#city").change(function(){dependencia_zip();});
    $("#state").attr("disabled",true);
    $("#city").attr("disabled",true);
});

function cargar_paises()
{
    $.get("scripts/cargar-paises.php", function(resultado){
        if(resultado == false)
        {
            alert("Error");
        }
        else
        {
            $('#country').append(resultado);            
        }
    }); 
}
function dependencia_estado()
{
    var code = $("#country").val();
    $.get("scripts/dependencia-estado.php", { code: code },
        function(resultado)
        {
            if(resultado == false)
            {
                alert("No se encontraron provincias para ese pais");
                $("#state").attr("disabled",true);
                document.getElementById("state").options.length=1;
            }
            else
            {
                $("#state").attr("disabled",false);
                document.getElementById("state").options.length=1;
                $('#state').append(resultado);          
            }
        }

    );
}
function dependencia_ciudad()
{
    var code = $("#state").val();
    $.get("scripts/dependencia-ciudades.php?", { code: code }, function(resultado){
        if(resultado == false)
        {
            alert("Error");
        }
        else
        {
            $("#city").attr("disabled",false);
            document.getElementById("city").options.length=1;
            $('#city').append(resultado);           
        }
    });

..... ありがとうございます ;) 英語で申し訳ありません。

4

1 に答える 1

0

私はあなたがこのようなものが欲しいと思います:

メインページ:

<script>
document.ready = function() {
    fillBasicInformation();
}
</script>

次のように、fillBasicInformation 関数を定義する必要があります。

//this should only be called in edit mode
fillBasicInformation = function() {
    //First fill country select
    //select the specific country
    //Fill state select
    //select specific state
    //fill city select
    //select specific city

    //now attach events to onChange event
    //1
}

フィールドを取得して入力する方法を決定し、ajax を介して適切なオプションを追加するか、ページの読み込み時に直接オプションを追加して、適切なオプションを選択する必要があります(たとえば、val()を使用)。

于 2010-08-20T18:36:45.007 に答える