通过JQuery绑定attr值DropDown?

时间:2013-05-29 05:15:07

标签: jquery attr html-select

Iam尝试将attr值绑定到下拉列表,因为我需要超过2个值才能绑定到下拉列表。

    success: function (JSONData) {
            var Ports = $.parseJSON(JSONData.d);
            $(".ddlFrom").empty();                
            $(".ddlFrom").append("<option  value=''>   </option>");

            $.each(Ports, function (index, value) {
            $(".ddlFrom").append("<option value='" + value.ID + "'>" + value.Name + "</option>")
                                .attr("Sequence", value.Sequence);

            });

但是,我在下拉列表中有数据列表,当我选择下拉列表中的任何项目时,iam得到最后一个序列。我想要选择下拉列表的各个序列

任何帮助

1 个答案:

答案 0 :(得分:0)

试试这个:

var Ports = $.parseJSON(JSONData.d);
var select = $(".ddlFrom");
select.empty();
$.each(Ports, function (index, value) {
    select.append("<option value='" + value.ID + "'>" + value.Name + "</option>")
    select.find(":last").attr("Sequence", value.Sequence);
});

或者(一种更简单的方法)是将这个添加到您要添加的HTML中:

var Ports = $.parseJSON(JSONData.d);
var select = $(".ddlFrom");
select.empty();
$.each(Ports, function (index, value) {
        select.append("<option value='" + value.ID + "' Sequence='" + value.Sequence + "'>" + value.Name + "</option>")
    });

在更高的立场上,使用自定义属性不是HTML语义(没有错,但可能会让你的HTML看起来很难看)。您可以尝试使用data find()建议用于存储元素的信息。

要从中获取值,请务必使用jquery的$(this).find(":selected").attr("Sequence") 导航到select元素:

undefined

否则,您最终会遇到{{1}}错误:)

jquery(已更新)