Php 如何在Ajax/Jquery中从下拉列表中获取复选框中的数据

Php 如何在Ajax/Jquery中从下拉列表中获取复选框中的数据,php,ajax,jquery,checkbox,Php,Ajax,Jquery,Checkbox,我不是在这里发布完整的代码,但我想知道如何检索基于下拉列表的支票盒中的数据。我有一个用户下拉列表,并在复选框中显示数据 假设表user有两列user\u id,user和pages有三列page\u id、user\u id和title 我希望这些复选框根据所选用户自动选中/取消选中,而无需刷新页面。假设我获取用户作为 echo '<select name="user_id">'; echo '<option value="">Select User</option

我不是在这里发布完整的代码,但我想知道如何检索基于下拉列表的支票盒中的数据。我有一个用户下拉列表,并在复选框中显示数据

假设表user有两列user\u id,user和pages有三列page\u id、user\u id和title

我希望这些复选框根据所选用户自动选中/取消选中,而无需刷新页面。假设我获取用户作为

echo '<select name="user_id">';
echo '<option value="">Select User</option>';

$sql = "SELECT * from users";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)) {
    $uid = $row['user_id'];
    $user = $row['user'];
    echo '<option value="'.$uid.'">'.$user.'</option>'; 
}

echo '</select>'; 
在Ajax/Jquery中,我的意思是不刷新页面怎么可能呢。 希望你明白我的意思。
谢谢

这是ASN,你能做的就是这样

 echo '<select name="user_id" id="userCombo">';
 echo '<option value="">Select User</option>';

 $sql = "SELECT * from users";
 $res = mysql_query($sql);
 while($row = mysql_fetch_assoc($res)) {
    $uid = $row['user_id'];
    $user = $row['user'];
    echo '<option value="'.$uid.'">'.$user.'</option>'; 
 }

echo '</select>';
echo '<div id="userCheckBoxes"></div>'
现在将ajax调用放在select框的change事件上。 我将在这里使用jQueryAjax

<script type="text/javascript">
 $(document).ready(function()
 {
   $("#userCombo").change(function()
   {
     var id=$(this).val();
     var dataString = 'user_id='+ id;
     $.ajax
     ({
         type: "POST",
         url: "ajax_checkboxes.php",
         data: dataString,
         cache: false,
         success: function(html)
         {
            $("#userCheckBoxes").html(html);
         }
     });
   });
 });
 </script>
现在将ajax_checkbox.php放入同一目录。 然后将下面的代码放入ajax_checkbox.php。我假设您可以自己实现数据库连接和所有功能

  $user_id = $_POST['user_id']; //selected user from list

  $query = "SELECT * from pages";
  $result = mysql_query($query);
  while($rowPage = mysql_fetch_assoc($result)) {

       $upid = $rowPage['user_id'];
       $pid = $rowPage['page_id'];
       $title = $rowPage['title'];

    if($upid == $user_id) {
        echo '<input type="checkbox" name="userPages[]" value="'.$pid.'"        checked="checked"> '.$title;   
     } else {
        echo '<input type="checkbox" name="userPages[]" value="'.$pid.'"> '.$title;
    }
 }
我没有在我的本地服务器上尝过,但我相信它会起作用


请注意不要在站点的标题部分包含jQuery。

以下是ASN,您可以这样做

 echo '<select name="user_id" id="userCombo">';
 echo '<option value="">Select User</option>';

 $sql = "SELECT * from users";
 $res = mysql_query($sql);
 while($row = mysql_fetch_assoc($res)) {
    $uid = $row['user_id'];
    $user = $row['user'];
    echo '<option value="'.$uid.'">'.$user.'</option>'; 
 }

echo '</select>';
echo '<div id="userCheckBoxes"></div>'
现在将ajax调用放在select框的change事件上。 我将在这里使用jQueryAjax

<script type="text/javascript">
 $(document).ready(function()
 {
   $("#userCombo").change(function()
   {
     var id=$(this).val();
     var dataString = 'user_id='+ id;
     $.ajax
     ({
         type: "POST",
         url: "ajax_checkboxes.php",
         data: dataString,
         cache: false,
         success: function(html)
         {
            $("#userCheckBoxes").html(html);
         }
     });
   });
 });
 </script>
现在将ajax_checkbox.php放入同一目录。 然后将下面的代码放入ajax_checkbox.php。我假设您可以自己实现数据库连接和所有功能

  $user_id = $_POST['user_id']; //selected user from list

  $query = "SELECT * from pages";
  $result = mysql_query($query);
  while($rowPage = mysql_fetch_assoc($result)) {

       $upid = $rowPage['user_id'];
       $pid = $rowPage['page_id'];
       $title = $rowPage['title'];

    if($upid == $user_id) {
        echo '<input type="checkbox" name="userPages[]" value="'.$pid.'"        checked="checked"> '.$title;   
     } else {
        echo '<input type="checkbox" name="userPages[]" value="'.$pid.'"> '.$title;
    }
 }
我没有在我的本地服务器上尝过,但我相信它会起作用


PS不要将jQuery包含在站点的标题部分。

只需将所选元素替换为从ajax调用中检索到的元素,就可以了吗?谢谢您的回复,但最重要的是我需要ajax代码,我不懂ajax:err。。然后开始阅读ajax实践?最快、最简单的方法是使用像的javascript库,并使用多种方法中的一种。必须用从ajax调用中检索到的元素替换select元素并完成它吗?感谢您的回复,但主要的是我需要ajax代码,我不懂ajax:err。。然后开始阅读ajax实践?最快、最简单的方法是使用像的javascript库,并使用多种方法之一