2016-11-29 21 views
3

選択肢とテキストの内容を比較したいと思います。達成することができます。文字列は同じですが、比較中は一致しません。Jqueryは2つの異なる要素の文字列を比較します

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

と選択オプションのようになる:

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

私は比較しています:

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

を彼らはコンソール出力に同じように見えるが、彼らは条件 がいくつかできている場合では一致してはいけません何が間違っているかについての1つのコメント。

答えて

3

pタグもテキストとして返すので、$("#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

にそれを変更します。また、トリムが働いていたこの

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

利用日のパースを任意の空白を削除するために)(.trimを使用...それは余分なスペース

たありがとう
0

などの日付を比較するための

($("#dateRangeSelect").val()=== $("#dateRange p").text().trim()) 
関連する問題