2012-08-10 40 views
0

我有兩種形式與2輸入盒輸入查詢的開始日期和結束日期,標記爲這是:jQuery的日期選擇器,ONSELECT在循環

<form> 
    <input type="text" id="from1" name="from1" /> 
    <input type="text" id="to1" name="to1" /> 
</form> 
<form> 
    <input type="text" id="from2" name="from2" /> 
    <input type="text" id="to2" name="to2" /> 
</form> 

我需要設置用於與結束日期時輸入框最小值開始日期的輸入框中的值是變化的。當我像這樣直接設置日期選擇器:

$("#from1").datepicker({ 
    onSelect: function(selectedDate) { 
     $("#to1").datepicker("option", "minDate", selectedDate); 
    } 
}); 
$("#to1").datepicker(); 

該工作。但是,當我這樣設置在環路日期選擇器:

for (var i = 1; i < 3; i++) { 
    var input1 = "#from"+i; 
    var input2 = "#to"+i; 
    $(input1).datepicker({ 
     onSelect: function(selectedDate) { 
      $(input2).datepicker("option", "minDate", selectedDate); 
     } 
    }); 
    $(input2).datepicker(); 
} 

不工作,如果我選擇在「1跳轉」,「的minDate」值僅適用於「TO2」設置。當我改變「from1」中的值時,我想將「minDate」設置爲「to1」。 任何想法有什麼不對?提前謝謝你

+0

爲$(輸入2).datepicker();需要所有?我的意思是你將datepicker()綁定到onSelect裏面的元素。 – 2012-08-10 22:49:48

回答

0

我不明白你爲什麼要在循環中設置datepicker ...使用類,而不是更容易。另外爲什麼你會有兩種形式?

<form> 
    <input type="text" id="from1" class="from" name="from1" /> 
    <input type="text" id="to1" class="to" name="to1" /> 
    <input type="text" id="from2" class="from" name="from2" /> 
    <input type="text" id="to2" class="to" name="to2" /> 
</form> 

,只需這JS:

$(".from").datepicker({ 
    onSelect: function(selectedDate) { 
     $(this).next() 
       .datepicker("option", "minDate", selectedDate); 
    } 
}) 
// not sure you need this... 
.next() 
.datepicker(); 
+0

我在一個頁面中有更多的表單(這是一個簡化的),每個表單發送不同的數據。 next()的解決方案非常完美。非常感謝。 – user1392148 2012-08-10 23:05:55