2016-11-29 2 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

Трим работал .. спасибо это дополнительное пространство