Jquery比较来自不同元素的两个String

时间:2016-11-29 06:39:54

标签: javascript jquery select

我想将select选项与文本内容进行比较。它能实现吗?尽管字符串相同,但在比较时它们并不匹配。

<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 个答案:

答案 0 :(得分:3)

尝试不比较$("#dateRange").text(),因为它还会将p标记作为文本返回。所以将其更改为$("#dateRange p").text()

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

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

 
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

需要将p标记内的文字与值进行比较。还可以使用.trim()删除任何空格

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

答案 2 :(得分:0)

使用日期解析来比较这样的日期

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