根据标签选择id

Select id based on label

本文关键字:id 选择 标签      更新时间:2023-09-26

所以我正在为一个特定的网站做一个插件,我的问题是他们改变了名字&id是动态的,所以我只能使用Label Name作为选择器。我的问题是,我有2个选择,我需要填充,但只有一个标签离开。

HTML:

<div class="input string required">
    <label class="string required control-label" for="credit_card_month">exp. date</label>
    <select id="credit_card_month" name="credit_card[month]">
        <option value="01">01</option>
        <option value="02">02</option>
        <option value="03">03</option>
        <option value="04">04</option>
        <option value="05">05</option>
        <option value="06">06</option>
        <option value="07">07</option>
        <option value="08">08</option>
        <option value="09">09</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <select id="credit_card_year" name="credit_card[year]">
        <option value="2014">2014</option>
        <option value="2015">2015</option>
        <option value="2016">2016</option>
        <option value="2017">2017</option>
        <option value="2018">2018</option>
        <option value="2019">2019</option>
        <option value="2020">2020</option>
        <option value="2021">2021</option>
        <option value="2022">2022</option>
        <option value="2023">2023</option>
        <option value="2024">2024</option>
    </select>
</div>

和javascript:

$('label:contains("exp. date")').parent('div').find('select').val("08");
$('label:contains("exp. date")').parent('div').find('select').val("2016");

JsFiddle,任何帮助都是感激的

.eq()允许您根据索引从jQuery对象中选择。jsFiddle示例

var select = $('label:contains("exp. date")').parent('div').find('select');
select.eq(0).val("08"); // first select box
select.eq(1).val("2016"); // second select box

按select id查找。我还想弄清楚你为什么要按标签的内容来选择标签,这不是一个好主意。

$('label.control-label').parent('div').find('select#credit_card_month').val("08");
$('label.control-label').parent('div').find('select#credit_card_year').val("2016");