0

私はこのHTMLコードの平和を持っています

<select id="country" name="country" onchange="updateState()">
    <option value="1">Country 1</option>
    <option value="2">Country 2</option>
    <option value="3">Country 3</option>
</select>
<select id="state" name="state">
    <option value="1">State 1</option>
    <option value="2">State 2</option>
    <option value="3">State 3</option>
</select>

JQuery ajaxで状態選択を更新しようとしています

<script type="text/javascript">
function updateState(){
    var state = $('#country').val();
    alert(state);
    $.ajax(
    {
        type: "GET",
        url: "../functions/selectstate.php",
        data: { sta : state }
    }).done(function( html )
    {
            $('#state').empty();
            $('#state').append(html);

    })
    }
}
</script>

selectstate.php にはこの php コードがあり、テストしたところ正常に動作しました

include_once('select.php');
include_once('cndb.php');
$sDB = new SelectDb();
$data = $sDB->selectStatesById($_GET['sta']);
foreach($data as $row)
{
    echo "<option value=" . $row->state . ">" . $row->name . "</option>";
}

どこに問題があるのか​​ わかりません。前もって感謝します

4

2 に答える 2

0

以下のアプローチを使用してみてください。HTMLコードに役立つかもしれません:

<select id="country" name="country" onchange="updateState()">
<option value="1">Country 1</option>
<option value="2">Country 2</option>
<option value="3">Country 3</option>
</select>
<div id="stateDiv">
   <select id="state" name="state">
   <option value="1">State 1</option>
   <option value="2">State 2</option>
   <option value="3">State 3</option>
   </select>
</div>

JavaScript コード:

...
...
.done(function( result )
 {
   $('#stateDiv').html(result);
})
...
...

PHP コード:

...
...
echo '<select id="state" name="state">';
foreach($data as $row)
{
 echo "<option value=" . $row->state . ">" . $row->name . "</option>";
}
echo '</select>';
...
...
于 2013-05-02T04:47:42.003 に答える
0

HTML

<select id="country" name="country">
    <option value="1">Country 1</option>
    <option value="2">Country 2</option>
    <option value="3">Country 3</option>
</select>
<select id="state" name="state">
    <option value="1">State 1</option>
    <option value="2">State 2</option>
    <option value="3">State 3</option>
</select>

脚本

<script type="text/javascript">
    $(document).on('change','#country',function (){
        var state = $('#country').val();
        alert(state);
        $.ajax(
        {
            type: "GET",
            url: "../functions/selectstate.php",
            data: { sta : state }
        }).done(function( html )
        {
            //$('#state').empty();
            //$('#state').append(html);
            $('#state').html(html);
            // you can use it insetead of the above two lines
        })
        //}<-- here is th problem remove this extra bracket
    });
</script>
于 2013-05-02T04:50:13.420 に答える