我需要获取data-id =“ value”这是客户端名称。数据是从JSON数据返回的。我尝试了许多解决方案,但没有用。请帮我,

这是我的JSON Pull

$('#vendorListDrop').each(function (index, value)
        {
            var initSelectpicker = $(this).selectpicker();
            $.getJSON('invoice/process/process_vendor.php', function (data)
            {
                initSelectpicker.html('');
                $.each(data, function (key, val)
                {
                    initSelectpicker.append('<option value=' + val["CLIENT_ID"] + ' data-id="' + val["CLIENT_NAME"] + '">' + val["CLIENT_NAME"] + '</option>');
                });
                initSelectpicker.selectpicker('refresh');
            });
        });

$("#vendorListDrop").on('change', function () {
       var vendorSelected = $("#vendorListDrop").data().id;
       alert(vendorSelected);
    });


它始终在警报框中显示未定义。

最佳答案

您的选择没有任何data attribute,并且已将其放置在option

$("#vendorListDrop").on('change', function () {
   var vendorSelected = $('option:selected',$(this)).data('id');
   alert(vendorSelected);
});

10-04 11:15