我有一个文本区域:
<input id="startdate" name="startdate" type="text" value="" style="width:23%">
监听 on('change')`
$('#startdate').on('change', function () {
var $formelem = $(this);
// DO SOME WORK
...
});
以及更改文本区域值的代码:
var keyval = location.search.replace('?', '').charAt(0);
var filterDates;
var clicked = [];
function persistence(keyval) {
function template(keyval, filterDates) {
for ( i=0 ; i < keyval.length ; i++ ) {
$('#'+keyval[i]).click();
};
if (filterDates) {
return $('#startdate').val(filterDates);
};
};
if (typeof parseInt(keyval[0]) === 'number' && keyval[0] % 1 == 0) {
switch(keyval[0])
{
case '1':
keyval = ['.', '..', '...' ];
filterDates = "2006-04";
template(keyval, filterDates);
break;
case '2':
keyval = ['.', '..', '...' ];
break;
default:
template(keyval);
};
} else {
template(keyval);
}
};
当页面加载时,如果 url 包含 a 1
,那么我想将 textarea 的值更改为2006-04
并让它注册一个更改,以便发生更改功能。目前文本正在更新,但该功能未运行。我认为这可能与页面未加载有关,因此我将其放在 document.ready() 中,它仍然无法正常工作。我还缺少什么吗?API没有提到任何关于必须为其附加事件处理程序的内容,所以我认为 on('change') 可以解决问题.....
此外,如果我手动更改它,该函数确实完成了它应该做的工作,所以它不是函数中的代码。我在其他地方动态设置初始值的事实也与它有什么关系吗?
$(document).ready(function () {
blinks(1);
persistence(keyval);
});
和
//place the first value of start[] in the startdate box
$('#startdate').val(start[0]);