jquery使用.load方法下拉列表

时间:2012-05-25 03:11:38

标签: php javascript jquery html

如何在下拉列表中使用jquery ajax .load函数?

这是我的php页面

<? 
$query="SELECT Name FROM supplier";
$result=mysql_query($query);
?>
<select name="ddlSupplier">
<option>Supplier Name</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value><?=$row['Name']?></option>
<? } ?>
</select>

如何在加载后获得价值?

$("#ddlSupplier").val()? this.val()?

3 个答案:

答案 0 :(得分:1)

我没有你标记.load()的标记,所以我将使用#placeholder作为你将注入下拉列表的选择器:

$('#placeholder').load('yourphppage.php', function(html) {
   $(this).find('select[name=ddlSupplier]').val();
});

请注意,在插入HTML后会调用回调,因此您可以执行find()Docs

  

如果提供“完整”回调,则在之后执行   已经执行了后处理和HTML插入。回调是   为jQuery集合中的每个元素触发一次,然后设置   依次为每个DOM元素。

答案 1 :(得分:0)

你应该能够按照.val()

的说法得到它
$(function () {
     $("#ddlSupplier").on('change', function () {
         var value = $(this).val();
     });
});

答案 2 :(得分:0)

有几个问题:

首先在PHP中,您试图通过ID选择下拉菜单,但您没有设置一个。所以这是补充的。此外,您实际上并没有为<option>提供值,因此也添加了值。

<? 
$query="SELECT Name FROM supplier";
$result=mysql_query($query);
?>
<select id="ddlSupplier" name="ddlSupplier">
<option>Supplier Name</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value="<?=$row['Name']?>"><?=$row['Name']?></option>
<? } ?>
</select>

最后,在JS中,您需要获取选择选项的值,而不是select列表的值(因为select没有值)。

$("#ddlSupplier option:selected").val()