根据标签选择ID

时间:2014-08-21 02:01:15

标签: javascript jquery labels

所以我正在为一个特定的网站制作一个插件,我的问题是他们改变了名称& 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,感谢任何帮助

2 个答案:

答案 0 :(得分:2)

.eq()允许您通过索引从jQuery对象中进行选择。 jsFiddle Example

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

答案 1 :(得分:0)

通过您的选择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");