0

我正在尝试将 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);

            });

但是这里我有数据列表进入下拉列表,当我选择下拉列表中的任何项目时,我得到最后一个序列。,我想要下拉列表的选定值的相应序列

任何帮助

4

1 回答 1

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 看起来很丑)。您可以尝试使用datawhich jquery推荐用于存储元素的信息。

要从中获取值,请务必使用 jquery 导航到 select 元素,find()如下所示:

$(this).find(":selected").attr("Sequence")

否则你会得到一个undefined错误:)

工作小提琴(更新)

于 2013-05-29T05:58:19.327 回答