【问题标题】:Bind attr values DropDown by JQuery?通过JQuery绑定attr值DropDown?
【发布时间】:2013-05-29 05:15:06
【问题描述】:

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

            });

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

任何帮助

【问题讨论】:

    标签: jquery attr html-select


    【解决方案1】:

    试试这个:

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

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

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

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

    Working fiddle(更新)

    【讨论】:

    • 我不想要最后一个值,我想要该选定下拉列表的关联序列值
    • 让我看看我是否做对了 - 第一个选项 -> 第一个序列,第二个选项 - 第二个序列,依此类推,对吗?
    • 是的...,如果我有 3 条记录说 id 1,2,3 和名称 a,b,c seq 01,02,03 如果我从下拉列表中选择 a 我必须得到 seq 01..,
    • 在你的第二个回答中,我必须使用 Sequnce 作为属性才能正确使用它?
    • 你想要i出来的值是对应的序列吗?如果是这样的话,那么这就足够了。检查我添加的小提琴以提高清晰度
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    相关资源
    最近更新 更多