Jquery如何读取自定义属性值

时间:2014-09-12 11:38:38

标签: jquery

我给了一个下拉列表,它添加了一个名为ShipTo的自定义属性。现在我的下拉html看起来像

<select id="ddlCountry" runat="server" style="width: 300px; font-size: 9pt; float:left; margin-top: 3px;">
<option shipto=''  value="">Select your location</option>
<option shipto='GBR'  value="gb_en_home">United Kingdom - English</option>
<option shipto='USA'  value="us_en_home">United States - English</option>
</select>    

这样我尝试读取自定义属性值

var ShipTo = $("#ddlCountry").attr("shipto");
alert(ShipTo );

但上面的代码不起作用。所以任何人都可以指导我如何实现它。感谢

修改

我想出了如何阅读自定义属性数据

var ShipTo = $("#ddlCountry").find('option:selected').attr("shipto"); 

上面的代码工作正常。

4 个答案:

答案 0 :(得分:3)

您正在尝试从select中获取属性,您需要从像

这样的选项中获取它
$('#ddlCountry option:selected').attr('shipto');

使用:selected获取所选选项。

DEMO

答案 1 :(得分:2)

下拉列表#ddlCountry没有自定义属性。您应该定位<option>

var ShipTo = $("#ddlCountry option:selected").attr("shipto");

答案 2 :(得分:2)

尝试。获得所选option

的价值
$('#ddlCountry option:selected').attr('shipto');

Wroking DEMO

答案 3 :(得分:1)

您应该使用数据属性

<select id="ddlCountry" runat="server" style="width: 300px; font-size: 9pt; float:left; margin-top: 3px;">
    <option data-shipto=''  value="">Select your location</option>
    <option data-shipto='GBR'  value="gb_en_home">United Kingdom - English</option>
    <option data-shipto='USA'  value="us_en_home">United States - English</option>
</select> 

您可以像

一样访问它
var ShipTo = $("#ddlCountry option:selected").data("shipto");
alert(ShipTo );