获取动态生成的选择框的数据属性

时间:2016-12-15 10:28:23

标签: javascript jquery html drop-down-menu

我在AJAX请求后生成了两个选择框:

$("#job_id").change(function() {
    var id = $(this).val();
    $.ajax({
        url: '',
        type: 'POST',
        dataType: 'json',
        data: { 'id': id },
    }).done(function(data) {
        var contc = "";
        var contc2 = "N/A";
        var seal = "";
        var seal2 = "N/A";
        $.each(data, function(i, d) {
            contc += "" + d.container_no + "";
            contc2 += "" + d.container_no + "";
        });
        $("#container1").html(contc);
        $("#container2").html(contc2);
        // console.log("done"); 
    }).fail(function() {
        $("#container1").html("");
        $("#container2").html("");
    });

    $.ajax({
        url: '',
        type: 'POST',
        dataType: 'json',
        data: { 'id': id },
    }).done(function(d) {
        $("#cont_pickup").val(d.id);
        $("#cont_pickup_name").val(d.name);
    }).fail(function() {
        $("#cont_pickup").val("");
        $("#cont_pickup_name").val("");
    });
});

我想要data-seal值。为此,我写道:

$("#container1,#container2").change(function() {
    $("#cont_seal_1").val($("#container1").data('seal'));
    $("#cont_seal_2").val($("#container2").data('seal'));
});

然而它返回undefined。我怎样才能获得data-seal

3 个答案:

答案 0 :(得分:0)

请尝试这种方式:

$("#container1,#container2").change(function() {
    $("#cont_seal_1").val($("#container1 option:selected").data('seal'));
    $("#cont_seal_2").val($("#container2 option:selected").data('seal'));
});

答案 1 :(得分:0)

您可以data-seal

获取selected option的{​​{1}}
select

$("#container1,#container2").change(function() {
    $("#cont_seal_1").val($("#container1 option:selected").data('seal'));
    $("#cont_seal_2").val($("#container2 option:selected").data('seal'));
});

答案 2 :(得分:0)

如果您的商品是动态添加的,请尝试阅读jQuery on()live()

示例:

$( "#dataTable tbody" ).on( "click", "tr", function() {
 console.log( $( this ).text() );
});
相关问题