我编写了函数,它控制输入文本。单击按钮时,在输入设定值中。在那个时候我需要函数'StartDate1.change'控制更改输入值。因此,如果这是值,则等于12/24/2013 - >清场。但这是功能不起作用。你能帮我解决一下吗?
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form action="demo_form.asp">
Date: <input type="text" name="Phone" title="title1" value="">
<input id="target" class="ms-ButtonHeightWidth" type="button" accesskey="O"
value="Add date" >
</form>
<script type="text/javascript">
$(document).ready(function(){
$( "#target" ).click(function() {
var StartDate=$('[title="title1"]');
StartDate.val('12/25/2013');
});
var StartDate1=$('[title="title1"]');
StartDate1.change(function(event){//doesn't get here
window.setInterval(function(){
if($(event.target).val()==='12/24/2013')
{
//some code
}else
{
$(event.target).val('');
}
});
});
});
</script>
</body>
</html>
这是关于fidler的例子:
答案 0 :(得分:1)
如果需要在输入字段中控制值,请使用keyup
处理程序
答案 1 :(得分:0)
onchange
事件仅在值更改且输入失去焦点时触发。
您可以手动更改代码来触发它:
$( "#target" ).click(function() {
var StartDate=$('[title="title1"]');
StartDate.val('12/25/2013');
StartDate.change();
});
答案 2 :(得分:0)
重复调用传递给window.setInterval的函数。因此,按钮点击功能设置的值立即重置。
var timeFunction;
$( "#targetb" ).click(function() {
var StartDate=$('[title="title1"]');
StartDate.off('change');
StartDate.val('12/25/2013');
StartDate.on('change',function(event){
console.log("lol");
timeFunction=window.setInterval(clearInput,2000);
});
});
function clearInput(){
var StartDate=$('[title="title1"]');
if(StartDate.val()==='12/24/2013')
{
//some code
}else
{
StartDate.val('');
window.clearInterval(timeFunction);
}
}
我创造了一个新的小提琴http://jsfiddle.net/yPYDJ/4/。如果这是你的预期,请检查并接受它。