Javascript - 从选择菜单中获取属性

时间:2015-05-20 09:18:41

标签: javascript jquery html

你好亲爱的社区。

这是我的HTML代码:

<select name="Pcolor" id="image" style="height:30px;">
    <option value="">Избран цвят: Blue/Lt Blue </option>
    <option value="45751303" color-number="0">Black</option>
    <option value="45751343" color-number="1">Black/Pink</option>
    <option value="45751359" color-number="2">Blue/Lt Blue</option>
    <option value="45751324" color-number="3">Dk Purple/Purpl</option>
    <option value="45751390" color-number="4">Ink/Cerise</option>
</select>

我想问一下如何获取选项文字为color-number的{​​{1}}属性编号?

重要的是只能使用JavaScript / jQuery!

我希望你能早点理解我想要描述的内容!

3 个答案:

答案 0 :(得分:2)

我会这样做:

$('#image option[value="Blue/Lt Blue"]').attr("color-number");

所以基本上你搜索正确的选项并获得它的属性。

答案 1 :(得分:2)

使用:contains()不是一个合适的解决方案,因为它会返回部分匹配,而是可以使用.filter()

var text = 'Black/Pink';
var cn = $('select[name="Pcolor"] option').filter(function() {
  return $(this).text().trim() == text;
}).attr('color-number');

console.log(cn)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="Pcolor" id="image" style="height:30px;">
  <option value="">Избран цвят: Blue/Lt Blue</option>
  <option value="45751303" color-number="0">Black</option>
  <option value="45751343" color-number="1">Black/Pink</option>
  <option value="45751359" color-number="2">Blue/Lt Blue</option>
  <option value="45751324" color-number="3">Dk Purple/Purpl</option>
  <option value="45751390" color-number="4">Ink/Cerise</option>
</select>

答案 2 :(得分:0)

$('#image').on('change',function() {
  alert($(this).find('option:selected').attr('color-number'));
})

https://jsfiddle.net/cw6knsc5/2/