0

下面是我的 php 文件,有一个带有多个选项的组合框,在选择时应该根据选择出现新菜单

所有代码都在单个 php 文件中,即 index.php

我不想刷新页面或提交应该在选择/单击时完成的值

我的网址看起来像这样

http://localhost/lms/grade/report/userdef/index.php?id=13

并在计算机文件位于

C:\xampp\htdocs\lms\grade\report\userdef

这只是为了澄清,因为 jQuery 需要路径和我不擅长的东西

这是我的组合框和选择代码

<?php
$change;
if( isset($_GET['combo_1']) )
{
echo $change = $_GET['combo_1'];
}

echo '<select name="combo" id="combo_1">';
echo '<option value="2">Submative</option>';
echo '<option value="1">formative</option>';
echo '<option value="3">successive</option>';
echo '</select>';
 ?>
<br>
<?php
 if ($change==='1' or $change==='2')
{
$quizzes....// query for quezzes one
echo '<select id="combo_2">';
echo '<option value=" " selected="selected">Choose....</option>';
}
foreach($quizzes as $id2 => $name) {
     echo '<option value=' . $id2 . '>' . $name . '</option>';
}
echo '</select>';
   }

if ($change==='2')
{
quizzes2//query for quizes
echo '<select id="combo_3">';
echo '<option value=" " selected="selected">Choose....</option>';

foreach($quizzes2 as $id3 => $name2) {
     echo '<option value=' . $id3 . '>' . $name2 . '</option>';
}
echo '</select>';
}

if ($change==='3')
{
// another menu
}
//////more functionality

我正在尝试使用以下javascript返回选择的值,但没有任何反应,它没有返回值

所有代码都在单个文件中,即index.php

<script type="text/javascript">
$(document).ready(function() {

    $('#combo_1').change(function(){
        var combo_1 = $(this).val();
        $.ajax({
                type: 'GET',
                url: 'index.php',
                data: {'combo_1':combo_1},
                success: function(data){
                    alert(data)
                }
            });
    });

});

</script>
4

1 回答 1

0

这是工作代码:

PHP代码:

<?php
$comboBoxval = '';
// Check Ajax Request
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    // If combo_1 exist
    if (isset($_GET['DDBV'])) {
       // simple
       echo $comboBoxval = $_GET['DDBV'];
       exit;
    }    
}
?>

Java脚本代码:

<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('#combo_1').change(function(){
        var DDBV = $(this).val();
        $.ajax({
                type: 'GET',
                url: 'test.php',
                data: {'DDBV':DDBV},
                success: function(data){
                    // show ajax output to next                 
                    //$('#combo_1').after(data);
                    console.log(data);
                }
            });
    });

});
</script>

HTML 代码:

<select name="combo" id="combo_1">
    <option value="2">Submative</option>
    <option value="1">formative</option>
    <option value="3">successive</option>
</select>

现在您将在 ajax 响应中获得您的组合框值

于 2013-07-03T07:31:20.510 回答