JQuery:确定子项中的哪个SELECT已更改

时间:2011-09-20 08:43:14

标签: jquery select

我有3个分组选择Month,Day和Year ...我正在根据Month和Year SELECTs的值更改Day SELECT的内容。例如,如果月份是二月等,我将在Day中将选项设置为28。我想要一个函数,如果用户更改了Month或Year的值,则会运行,但如果选择了Day,则忽略该函数。我有这个功能

$("#ui-1 .ui-select").children().change(
    function(){
    ...if the Day select has been changed exit this function
    });
});

我有这个HTML ....

            <div id="ui-1">
            <div class="ui-select" data-role="controlgroup" data-type="horizontal" >
                <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_0" name="Datepicker_0_0">
                    <option value="1">January</option>
                    <option value="2">February</option>
                    .... and so on
                </select>
                <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_1" name="Datepicker_0_1">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    ... up to here
                    <option value="31">31</option>
                </select>
                <select data-native-menu="false" data-inline="true" data-icon="arrow-d" data-iconpos="right" id="Datepicker_0_2" name="Datepicker_0_2">
                    <option value="1975">1975</option>
                    <option value="1976">1976</option>
                    <option value="1977">1977</option>
                    ...up to here
                    <option value="2050">2050</option>
                </select>
            </div>
            </div>

4 个答案:

答案 0 :(得分:2)

this指向事件源自的元素,因此您可以使用if(this.id == 'Datepicker_0_1') return;

答案 1 :(得分:1)

$("#ui-1 .ui-select").children().change(
    function(){
        if(this.id == "Datepicker_0_0") return;
        //rest of code
    });
});

检查id元素的select属性是否等于"Datepicker_0_0"(这是您“Day”选择元素的标识符)。

答案 2 :(得分:1)

您应该能够为每个选择指定idname。 您可以通过$(this).attr('id')'name'确定选择哪个。

答案 3 :(得分:1)

function(){
   if( $( this ).attr( 'name' ) == 'Datepicker_0_1' )
      return;
});
相关问题