如何在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的值。
答案 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调用。