2012-07-22 56 views
1

我正在使用JS/Ajax函數來回顯選擇框中的選定值。我正在用MySQL DB中的值填充這些選擇框。該函數適用於文本輸入字段,但現在我正在使用它與這些選擇框我沒有得到任何迴應。PHP Echoe通過JS/AJAX選擇的值Post

我可以使用JS回顯選擇框中的選定值嗎?或者,還有更好的方法? EXAMPLE

JS

<script> 
    $(document).ready(function() { 
     var timer = null; 
     var dataString;  
     function submitForm(){ 
      $.ajax({ type: "POST", 
       url: "index.php", 
       dataType: 'json', 
       success: function(result){ 
       $('#special').html('<p>' + $('#resultval', result).html() + '</p>');} 
            }); 
      return false; 
     } 
     $('#category_form').on('change', function() { 
      clearTimeout(timer); 
      timer = setTimeout(submitForm, 2000); 
     }); 
    }); 
    </script> 

PHP/HTML

try { 

    $pdo = get_database_connection(); 

    $sql = "SELECT * 
      FROM `categories` 
      WHERE `master_id` = 0"; 
    $statement = $pdo->query($sql); 
    $list = $statement->fetchAll(PDO::FETCH_ASSOC); 


} catch(PDOException $e) { 
    echo 'There was a problem'; 
} 

    <form action="" method="post" id="category_form'" name="category_form'"> 

      <select name="main" id="main" size="7" class="update"> 
       <option value="">Select one</option> 
       <?php if (!empty($list)) { ?> 
        <?php foreach($list as $row) { ?> 
         <option value="<?php echo $row['id']; ?>"> 
          <?php echo $row['name']; ?> 
         </option> 
        <?php } ?> 
       <?php } ?> 
      </select> 

      <select name="subc1" id="subc1" size="7" class="update" 
       disabled="disabled" hidden="hidden"> 
       <option value="">----</option> 
      </select> 

      <select name="subc2" id="subc2" size="7" class="update" 
       disabled="disabled" hidden="hidden"> 
       <option value="">----</option> 
      </select> 

      <select name="subc3" id="subc3" size="7" class="update" 
       disabled="disabled" hidden="hidden"> 
       <option value="">----</option> 
      </select> 

     </form> 

    <div id="special"></div> 
+0

那麼,你有沒有找到解決這個問題呢? – pat34515 2012-07-22 22:28:52

回答

1

它看起來像你選擇使用jQuery的錯誤的元素。

變化:

$('#category_form').on('change', function() { 
      clearTimeout(timer); 
      timer = setTimeout(submitForm, 2000); 
     }); 

要:

$('#main').on('change', function() { 
      clearTimeout(timer); 
      timer = setTimeout(submitForm, 2000); 
     });