繁体   English   中英

jQuery使用.load方法的下拉列表

[英]jquery using .load method for drop down list

我如何使用jQuery的ajax .load功能的dropdownlist?

这是我的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()?

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

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

请注意,在HTML插入之后将调用该回调,因此您可以执行find() 文件

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

您应该能够像使用.val()所说的那样得到它

$(function () {
     $("#ddlSupplier").on('change', function () {
         var value = $(this).val();
     });
});

几个问题:

首先,在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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM