我在頁面底部有一個腳本,其中包含多個datepickers
,dropdownlists
時間和天數。我想使用循環來檢查選定值的值。問題在於代碼僅循環加載頁面時檢查的所選元素的初始數量。它只會檢測到這些最初選定元素的變化。它會忽略任何新選擇的項目。另外,當我將腳本放在頁面頂部時,它完全忽略了任何更改。爲什麼我的Javascript忽略選中的複選框?
我一直在嘗試不同版本的這段代碼約一週。有人可以幫助我發現可能是我的問題嗎?感謝您的幫助。
<script type="text/javascript">
$(function() {
$("#date").datepicker();
$('input[name=date]').datepicker();
var dateInput = $("select[name='searchString']");
var checkedindex = [];
var classdate = [];
var classtime = [];
var dayofclass = [];
var newDateAndTime = [];
var oldDateAndTime = [];
$("input[name='selectedCourses']").each(function (i) {
if (this.checked) {
checkedindex.push(parseInt(i));
}
});
for (var x = 0; x < checkedindex.length; x++) {
var ind = checkedindex[x];
var dateofclass = $(".TextBoxDate:eq(" + ind + ")");
var timeofclass = $(".TextBoxTime:eq(" + ind + ")");
var classday = $("select[name='searchString']:eq(" + ind + ")");
classdate.push(dateofclass);
classtime.push(timeofclass);
dayofclass.push(classday);
oldDateAndTime = (dayofclass[x].val() + classtime[x].val()).toString();
}
$("#saveBtn").click(function() {
for (var x = 0; x < checkedindex.length; x++) {
var ind = checkedindex[x];
var dateofclass = $(".TextBoxDate:eq(" + ind + ")");
var timeofclass = $(".TextBoxTime:eq(" + ind + ")");
var classday = $("select[name='searchString']:eq(" + ind + ")");
classdate.push(dateofclass);
classtime.push(timeofclass);
dayofclass.push(classday);
var testString = (dayofclass[x].val() + classtime[x].val()).toString();
alert(testString + " " + oldDateAndTime);
oldDateAndTime = (dayofclass[x].val() + classtime[x].val()).toString();
}
return false;
});
});
</script>
謝謝你的作品。 – CloudyKooper
歡迎您! – Saranga