2017-04-01 91 views
0

我不知道如何獲取輸入文本的最後一個值。當輸入類型爲空時,我已經獲得第一個值,但沒有獲得值。這裏是我的代碼:jQuery:如何獲得輸入文本的第一個值和最後一個值

HTML

<input type="text" name="date[]" class="date" id="date" value="6/17"><br/> 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
<input type="text" name="date[]" class="date" id="date" value=""><br/> 
<input type="text" name="date[]" class="date" id="date" value=""><br/> 

JS/jQuery的

$(document).ready(function(){ 
    var $set = $('.date'); 
    var len = $set.length; 
    $set.each(function(index, element) { 
     if (index === 0) { 
      alert (this.value); 
     } 
    });  
}); 
+0

你的標記在哪裏? –

+0

@OusmaneMahyDiaw我已編輯我的帖子 –

+0

注意:建議不要使用具有相同'id'的多個輸入元素,尤其是當它們全部在單個表單內時。我希望這不是這種情況。 – ITWitch

回答

0

你可以扭轉你的循環,並從去年開始。

var $set = $('.date'); 
var len = $set.length; 
var firstVal = $($set[0]).val(); 
var lastVal = null; 
for (var i = len - 1; i > 0; i--){ 
    if ($($set[i]).val()){ 
    lastVal = $($set[i]).val(); 
    break; 
    } 
} 
+0

它的工作!謝謝! :) –

1

您可以使用[!值= '']只選擇值輸入。 然後使用first()和last()從所選列表的第一個項目和最後一個項目中獲取值。

var $values = $(".date[value!='']"); 
 
$("#firstValue").html($values.first().val()); 
 
$("#lastValue").html($values.last().val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="date[]" class="date" id="date" value="6/17"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value=""><br/> 
 
<input type="text" name="date[]" class="date" id="date" value=""><br/> 
 
<div>First value: <span id="firstValue"></span></div> 
 
<div>Last value: <span id="lastValue"></span></div>

+0

謝謝!已經工作,但沒有改變,當我把價值空場 –

0

我不知道如何獲得輸入文本最後一個值。當輸入類型爲空時,我已獲得 的第一個值,但沒有獲得值。

這應該工作。

var result = $("input[value!='']"); 
 
console.log(result.first().val()); 
 
console.log(result.last().val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="date[]" class="date" id="date" value="6/17"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/18"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value="6/19"><br/> 
 
<input type="text" name="date[]" class="date" id="date" value=""><br/> 
 
<input type="text" name="date[]" class="date" id="date" value=""><br/>

而且,就像一個側面提示,不要使用具有相同的值,因爲這是無效的HTML多id屬性。相反,如果您想訪問多個元素,請使用您已完成的類屬性。

+0

謝謝!但不能更新,當我穿上空的領域 –

相關問題