javascript - 使用 jQuery 设置选择选项的 HTML 数据属性

标签 javascript html jquery custom-data-attribute

如何将 HTML 数据属性添加到生成的 jQuery <select> <option> 。我有以下代码以编程方式设置 <options>从 Ajax 查询结果中进行选择。

$request.then(function (data) {
    var p_id = $("[name='property_id']").val() || -1;
    for (var d = 0, l = data.length; d < l; d++) {
       var item = data[d];
       var option = new Option(item.text, item.id, false, (item.id === p_id ? true : false));
       // this doesnt work
       option.data('data-owner_id') = item.owner_id;
       option.data('data-property_id') = item.property_id;
       $element.append(option);
    }
    $element.trigger('change');
});

最佳答案

.data() 方法采用配对的键和值。试试这个:

   option.data('owner_id', item.owner_id);
   option.data('property_id', item.property_id);

除此之外,您还可以使用 .attr() 方法将属性添加到您的选项中。我只是给你举个例子。

  option.attr('data-owner_id', item.owner_id);
  option.attr('data-property_id', item.property_id);

由于选项变量不是 jQuery 对象,因此您无法像上面的函数那样调用 jQuery 方法。另一种选择是使用 native JavaScript .setAttribute()

option.setAttribute('data-owner_id', item.owner_id);
option.setAttribute('data-property_id', item.property_id);

关于javascript - 使用 jQuery 设置选择选项的 HTML 数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29269975/

相关文章:

javascript - 如何阻止页面滚动移动网站?

javascript - jquery为div添加背景

javascript - 列表框选项元素上的 Twitter Bootstrap 弹出窗口和工具提示显示在错误的位置

javascript - 无缝播放新的 css 动画

java - JSoup 解析 Webview 的 HTML

jquery - DatePicker 无法在 ajax 加载的页面中工作

jquery - 如何在 Bootstrap btn-group 中预切换按钮?

javascript JSON.parse 抛出意外的 JSON 输入错误结束

javascript - XMLHTTPrequest 纯文本到 blob(视频)

PHP 用户已存在检查