2011-09-20 50 views
0

我有3個分組選擇月份,日期和年份......我正在根據Month和Year SELECTs的值更改Day SELECT的內容。例如,如果月份是二月等,我會在Day中將選項設置爲28。我想要一個在用戶更改月份或年份值時運行的函數,但如果選擇了Day,則忽略它。我有這個功能JQuery:確定孩子中哪個SELECT發生了變化

$("#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> 

回答

2

this點,從該事件的起源,因此您可以使用if(this.id == 'Datepicker_0_1') return;

+0

謝謝!我試過這個,它完美的作品! –

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

檢查元素是否select元素的id屬性等於"Datepicker_0_0"(這是您的標識符「Day」選擇元素)。

+0

謝謝!這工作! –

1

您應該能夠爲每個選擇指定一個idname。 你可以通過$(this).attr('id')'name'找出它的選擇。

+0

感謝您的幫助uku-san –

1
function(){ 
    if($(this).attr('name') == 'Datepicker_0_1') 
     return; 
}); 
+0

謝謝!這個作品也很棒 –

相關問題