2013-07-03 96 views
0

组合框的值下面是我的PHP文件中,有多个选项的下拉框,选择新的菜单上应根据选择没有返回

所有的代码是在单一的PHP文件,它是index.php文件

出现

我不想刷新页面或提交应该在选择做价值/点击

我的URL看起来像这样

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> 
+0

你为什么呼应的组合框???你可以把它放在html文件而不是回显组合框?就一个问题! –

+0

来测试正在返回的实际尝试在浏览器中访问此URL:'http://localhost/lms/grade/report/userdef/index.php?id = 13'。它是查看你的'index.php'是否返回正确输出的最好方法。 –

+0

它不是这就是为什么我问 它不返回值 @shaikibrahim只是cuz改变标签之间编码是麻烦的,这只是文件的一部分 –

回答

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响应您的组合框的值

+0

不工作:S不能工作:我不能在URL中放东西:它会将它张贴到当前页面像self()或某些因为我认为我给一个错误的网址或我必须提供完整的网址? 我的网址看起来像这样 http://localhost/lms/grade/report/userdef/index.php?id = 13&quizid = 63 –

+0

@stacymalina:首先告诉我一件事,你试图达成的目标。 DD Box选定的值或其他东西,以及如果你只发送DD Box值,那么url param的用法是什么? –

+0

这里是一个简单的解释 我有一个组合框具有不同类型的报告 选择报告类型,它应该打开新的组合框或框和文本字段设置参数,然后我只需点击显示报告显示特定报告 我不想刷新页面上的报告类型选择,而是我想把它的结果,如果条件打开一个特定的块 –