获取数据列表的数据属性

用户名

我将一些隐藏的数据加载到数据列表中,并将其与data属性绑定

如果选择了一个值,我想获取相应数据属性的值。这是我的代码:

<input list="browser" id="number">
<datalist id="browser">
    <option data-customValue="Abc" value="Firefox">1</option>
    <option data-customValue="Def" value="Chrome">2</option>
    <option data-customValue="Ghi" value="Explorer">3</option>
</datalist>
$('#number').on('input', function() {
    var value = $('#browser').val();
    alert($('#browsers [value="' + value + '"]').data('customValue'));
});

就我而言,我只是undefined作为回应。

这是小提琴:https : //jsfiddle.net/bd4rpztk/1/

罗里·麦克罗森(Rory McCrossan)

您的代码中有两个问题。首先,您需要val()input元素而不是获取datalist其次,data属性名称应为小写,否则会干扰jQuery的内部缓存。考虑到这一点,请尝试以下操作:

<input list="browser" id="number">
<datalist id="browser">
    <option data-customvalue="Abc" value="Firefox">1</option>
    <option data-customvalue="Def" value="Chrome">2</option>
    <option data-customvalue="Ghi" value="Explorer">3</option>
</datalist>
$('#number').on('input', function() {
    var value = $(this).val();
    alert($('#browser [value="' + value + '"]').data('customvalue'));
});

工作实例

请注意,您的逻辑可能需要修改,以迎合直接在中输入值的人input

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章