JavaScript/jQuery -通过文本从选择菜单中获取选项属性

JavaScript/jQuery - Get option attribute from select menu by text

本文关键字:菜单 获取 选项 属性 选择 jQuery -通 文本 JavaScript      更新时间:2023-09-26

这是我的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>

这是我的Javascript:

var ColorSelectt = $('#image').find('option[text="Black/Pink"]').attr("color-number");
alert(ColorSelectt);

我要做的就是从选择菜单中找到具有文本(不值)Black/Pink的id image的选项,例如,然后获得color-number=""中包含的值。

当警报出现时,它给我响应undefined,为什么?

使用:contains内容过滤器选择包含指定文本的所有元素

var ColorSelectt = $('#image option:contains("Grey M/Navy")').attr("color-number");
var ColorSelectt2 = $('#image option:contains("Navy/Grey M")').attr("color-number");
alert(ColorSelectt + ':' + ColorSelectt2);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.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>
    <option value="45751390" color-number="5">Grey M/Navy</option>
    <option value="45751390" color-number="6">Navy/Grey M</option>
    
</select>

尝试:

    var ColorSelectt = $('#image').find('option:contains("Black/Pink")').attr("color-number");
    alert(ColorSelectt);

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

或:

 var ColorSelectt = $('#image option:contains("Black/Pink")').attr("color-number");
    alert(ColorSelectt);