gpt4 book ai didi

javascript - 使用 javascript/asp.net 选择多个项目

转载 作者:行者123 更新时间:2023-12-03 09:12:24 24 4
gpt4 key购买 nike

这是我到目前为止所拥有的 View ,其中显示了我尚未报告时间的日期。

我的想法是勾选我想要报告时间的日期,这样我就可以报告多个日期的时间,如果我确实选中了我不想报告的日期,我只需取消选中该框即可。

我可以正常工作,(有点)问题是,如果我想选择一个日期,我总是必须选择列表中的第一个日期,然后才能检查任何其他日期。

像这样: enter image description here

只要我始终选择列表中的第一个日期,效果就很好。

但这不是我想要的,我想要这个选项,这样我就可以报告任何数据,而不必先检查第一个日期。这不起作用,因为我没有检查第一个日期: enter image description here

这是我的脚本:

var dateArr=new Array();
function SetDate(dt) {
if(document.getElementById("isoDate").checked) {
if(dateArr.indexOf(dt)<0){ //Check if date is already added. if not add it to array.
dateArr.push(dt);
}
else{
var index=dateArr.indexOf(dt);
if (index > -1) {
dateArr.splice(index, 1);//Remove from array if checkbox uncheck
}
}
$('#date').val(dateArr.join(" ")); //Add space separated string to the #date element.
}
}

这是我获取日期的 View :

@foreach (var date in ViewBag.MissingDays)
{
var isoDate = date.ToString("yyMMdd");
<div class="col-md-1">
<input type="checkbox" id="isoDate" name="isoDate" value="@isoDate"onclick="javascript:SetDate('@isoDate');" />
@isoDate
</div>
}

最佳答案

关于您的代码有一些观察结果,例如拥有多个具有相同 id 的项目不是一个好的做法(我实际上可以说这是一个不好的做法,我说的是复选框,相同的名称应该足够了)或类似这样的行:

if(document.getElementById("isoDate").checked) 

这会毁掉一切(我认为这是问题的真正根源,因为结果是第一个元素,不检查将转向其他元素)

看你用的是jquery,here您有一个关于它应该是什么样子的小样本。

关于javascript - 使用 javascript/asp.net 选择多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com