如何在php中的ajax中获取下拉列表的值?

时间:2013-12-18 10:53:29

标签: javascript php jquery ajax

如何在php中的ajax中获取下拉列表的值?

PHP代码:

<select name="Department" id="Department" class="DropDown">
 <?php

     $sql = "select * from department_details";
     $exec = mysql_query($sql);

     echo "<option  value='0'>Select</option>";                                            

     while($row = mysql_fetch_array($exec))
     {  
 ?>

   <?php echo "<option value=\"".$row['DepartmentId']."\">".$row['DepartmentName']."</option> \n  "; ?> 

<?php } ?>

     <option value="other">Other</option>
   </select>

JavaScript代码:

<script>

  $("#form").submit(function(event) {

  event.preventDefault();

  var $form = $( this ),
  value1 = $form.find( 'input[name="ProfessorName"]' ).val(),
  value2 = $form.find( 'input[name="Department"]' ).val(),

  url = $form.attr( 'action' );

  var posting = $.post( url, { ProfessorName: value1, Department: value2 } );

  posting.done(function( data ) {

  $( "#result" ).empty().append( data );
  });
  });
  </script>

如何使用没有页面刷新的ajax从下拉列表中获取department的值。

3 个答案:

答案 0 :(得分:3)

要获取选择值,请更改:

value2 = $form.find( 'input[name="Department"]' ).val(),

value2 = $form.find( 'select[name="Department"]' ).val(),

因为你有一个id,你可以直接制作

value2 = $form.find( '#Department' ).val(),

您使用了输入选择器,但Department是一个select元素。

不要忘记创建您的函数return false;,以防止提交表单。

答案 1 :(得分:2)

使用jquery你可以尝试这个

value2 = $("#Department").val();

答案 2 :(得分:0)

当您使用ajax时,请使用Jquery的Serialize

通过这种方式,您可以使用标准的URL编码表示法创建一个文本字符串(超出表单字段值),足以进行ajax调用。