2016-11-29 87 views
3

我想比較一個選擇選項和文本內容。可以實現嗎?雖然字符串是相同的,但它們在比較時不匹配。jquery比較來自不同元素的兩個字符串

<div id="dateRange"> 
      <p>27 Nov 2016_26 Dec 2016</p> 
</div> 

和選擇選項如:

<select id="dateRangeSelect" onchange="showHideForms(this);"><option value="27 Nov 2016_26 Dec 2016" selected>nov-dec</option></select> 

jQuery中我比較:

$("#dateRangeSelect").val() and $("#dateRange").text() 

雖然他們在控制檯輸出看起來一樣,他們不匹配,如果條件 會有些一個評論什麼可能是錯的。

回答

3

嘗試比較不$("#dateRange").text(),因爲它也返回p標記爲文本。所以它變成$("#dateRange p").text()

console.log($("#dateRangeSelect").val()); 
 
console.log($("#dateRange p").text()); 
 

 
console.log($("#dateRangeSelect").val() === $("#dateRange p").text()); 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="dateRange"> 
 
      <p>27 Nov 2016_26 Dec 2016</p> 
 
</div> 
 

 

 
<select id="dateRangeSelect" onchange="showHideForms(this);"><option value="27 Nov 2016_26 Dec 2016" selected>nov-dec</option></select>

1

需要將文本比較內部p標籤功能與價值。還可以使用.trim(),以消除任何空白

($("#dateRangeSelect").val()=== $("#dateRange p").text().trim()) 
0

使用日期解析像這樣

Date.parse($("#dateRangeSelect").val()) === Date.parse($("#dateRange").text()) 
0

修剪比較日期的工作。謝謝你這是額外的空間