如何解决如何比较日期并从选择列表中选择选项?
我正在尝试为以下代码编写代码(首先显示图片以显示表单表的概念):
仅当我从下拉列表中选择“付款日期”时,我才需要比较日期,这是我的触发条件。用户可以选择ManualDate。如果InvDate 问题是我必须想到如何从给定单元格中选择值,并与同一行中其他单元格中的其他值进行比较。 我的观点: 我的jQyery(只是一个不好的尝试): 我是初学者,所以请给我一些提示。我真的不知道如何比较给定(不是全部)行中相应单元格的值。也许我需要使用.each指令并将迭代器值分配给每个字段(每列),以标识列之间的字段?timer--
usbar = driver.find_element_by_xpath('/html/body/div[1]/section/main/article/div[2]/div[1]/div/form/div/div[1]/div/label/input')
解决方法
您可以为change
字段编写事件处理程序,而不是为选择框编写date
事件处理程序。因此,如果选择框的值为1
,则只有date
的值会发生变化。
因此,在date
字段更改时,我们可以使用$(this).closest()
获得最接近的tr,然后使用它可以获取第一个td
的值,该值具有日期字段的值,然后选择-框值。然后只比较两个值,并根据此值更改您的dates
输入即可。
演示代码 :
$('.dates').change(function() {
var $this = $(this).closest("tr");
//get selectbox slected option index
var i = $this.find("select option:selected").index()
if (i == 1) {
//get manual date
var date_man = new Date($(this).val())
//get inv date
var data_inv = new Date($.trim($this.find("td:eq(0)").text()));
//comapre
if (data_inv < date_man) {
$(this).val($.trim($this.find("td:eq(0)").text()));
}
//selcted index 2
$this.find('select').prop('selectedIndex',2);
} else {
//empty
$(this).val("")
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td class="invoice">
2020-09-18
</td>
<td>
<select class="decisionList">
<option selected></option>
<option>Payment Date</option>
<option>None</option>
</select>
</td>
<td>
<input class="dates" type="date">
</td>
</tr>
<tr>
<td class="invoice">
2020-10-31
</td>
<td>
<select class="decisionList">
<option selected></option>
<option>Payment Date</option>
<option>None</option>
</select>
</td>
<td>
<input class="dates" type="date">
</td>
</tr>
</table>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。