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

3
如何在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在不刷新页面的情况下从下拉列表中获取部门的值。
3个回答

3
获取下拉框的值,修改为:
value2 = $form.find( 'input[name="Department"]' ).val(),

To

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

由于您在其上有一个ID,因此您可以直接进行操作。
value2 = $form.find( '#Department' ).val(),

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

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


3
使用jQuery,您可以尝试以下内容:
value2 = $("#Department").val();

0

由于您正在使用ajax,建议使用Jquery的Serialize函数

通过这个函数,您可以将表单字段值创建为标准的URL编码字符串,非常方便用于ajax调用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接