2011-12-30 11 views
0

我想要做的是每當用戶在grouptypes下拉菜單中選擇一個羣組類型時,它會觸發一個處理程序來檢索屬於該分組類型,並將其傳遞給第二個選擇下拉列表。我有兩個數據庫表,組合類型和組。羣組類型可以有多個羣組,但一個羣組只屬於一個羣組類型。我有兩個選擇標籤,一個是羣組類型,另一個是羣組。使用Javascript和Json將選擇值傳遞給PHP並從數據庫檢索數據

我的代碼如下,它不正確和完整。所有的代碼都包含在同一個PHP文件GroupModificationSuccess.php中(這是一個問題?)。它應該得到'grouptypes'的值並且回顯'true',但它回顯'false'。這意味着該值無法正確傳遞。任何人都可以幫助我看看,並告訴我正確的方式來做到這一點?謝謝

<?php 
    $rows = array(); 

    if(isset($_GET['grouptypes'])){ 
     echo 'true'; 
    }else{ 
     echo 'false'; 
    } 
?> 

<script type="text/javascript"> 
    function populateFruitVariety() { 
     $.getJSON("url_for('GroupModificationSuccess')", {grouptypes:$('#grouptypes').val()}, function(data) { 
      var select = $('#groups'); 
      var options = select.attr('options'); 
      $('option', select).remove(); 
      $.each(data, function(index, array) { 
       options[options.length] = new Option(array['group']); 
      }); 
     }); 
    } 

    $(document).ready(function() { 
     populateFruitVariety(); 
     $('#grouptypes').change(function() { 
      populateFruitVariety(); 
     }); 
    }); 
</script> 

GroupType: 
<select id="grouptypes"> 
    <?php foreach($grouptypes as $type) : ?> 
    <?php echo "<option value='" . $type->name . "'>" .$type->name. "</option>"; ?> 
    <?php endforeach ?> 
</select> 
<br /> 
<br /> 
Result: 
<span id="list-of-groups"></span> 
<br /> 
Group: 
<select name="group" id="groups"> 
    <?php $count = 0; ?> 
    <?php foreach($groups as $group) : ?> 
    <?php $count++; ?> 
    <?php echo "<option value='" . $group->name . "'>" .$group->name. "</option>"; ?> 
    <?php endforeach ?> 
</select> 
<br /> 
+0

任何人都可以幫到我嗎?請 – 2011-12-30 16:58:57

+0

檢查您的網絡服務器的日誌,以確保請求的URL是您所期望的。另外,將PHP代碼寫入單獨的文件中(不要忘記更改傳遞給getJSON的url)。 – Yaniro 2011-12-30 17:29:14

回答

0

我的技巧是通過使用firebug /一個類似的Web開發工具,通過使用javascript函數console.log輸出消息到控制檯來調試您的代碼。只需傳遞字符串/對象將其輸出到控制檯即可。

例如嘗試輸出選項變量。我的猜測是,因爲你使用attr函數,它是空的。相反,嘗試孩子的功能,這可能會幫助你的方式。

相關問題