0

我如何将 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()?
4

3 回答 3

1

我没有您调用的标记.load(),因此我将#placeholder用作您将注入下拉列表的选择器:

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

请注意,回调是在 HTML 插入之后调用的,因此您可以执行find(). 文档

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

于 2012-05-25T03:16:31.123 回答
0

你应该能够得到它,如你所说.val()

$(function () {
     $("#ddlSupplier").on('change', function () {
         var value = $(this).val();
     });
});
于 2012-05-25T03:13:56.057 回答
0

几个问题:

首先在 PHP 中,您尝试通过 an 选择下拉列表,ID但您没有设置下拉列表。所以添加了。此外,您实际上并没有为<option>'s 提供值,所以它也被添加了。

<? 
$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()
于 2012-05-25T03:15:52.247 回答