如何使用Jquery获取选择选项值并传递给PHP?

时间:2011-12-29 21:16:05

标签: php jquery

我有两个数据库表,组类型和组。 grouptype可以有多个组,但一个组只属于一个grouptype。我有两个选择标签,一个是grouptypes,另一个是group。

我想要做的是,每当用户在grouptypes下拉菜单中选择一个grouptype时,它会触发一个处理程序来检索属于该grouptype的相应组,并将其传递给第二个选择下拉列表。

我的代码如下。它还没有完成,有一些错误。有人可以帮忙吗?

  <?php
    $result = $_POST['grouptype'];
    echo $result;
  ?>

  GroupType: <select id="groupTypes">

    <?php foreach($grouptypes as $type) : ?>

    <?php echo "<option value='" . $type->name . "'>" .$type->name. "</option>"; ?>

    <?php endforeach ?>

  </select><br />

  <br />
  Group: <select 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 />



  <script type="text/javascript">

    $('#groupTypes').change(function(){

      var grouptype = $('#groupTypes').val();
      $.post("GroupModificationSuccess.php", {grouptype: grouptype});
    });

  </script>

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

这应该可行,可能需要一些调整

$(function(){


var GType  = $("select#groupTypes"),
    GGroup = $("select#groups").hide(),
    GData  = [];

GType.bind('change', function(){

    //grab the value of the option currently selected
    var optselected = $(this).find("option:selected").val();
    if(optselected)
    {
     //send post data and request a callback
     $.post("GroupModificationSuccess.php", {'grouptype' : optselected}
     , function(callback)
           {
                 if(callback)
                 {
                     GData.push(callback.data);  
                 }
           });
     }

     //loop data send back via callback and build options
     $.each(GData, function(key, val))
     {
         var opts = '';
         opts += '<option value='+ key + '>' + value + '</option>'      
     }
     //append options to Group select and show it
     GGroup.append(opts).show().fadeIn('slow');
});

});