调试,Jquery功能不起作用
问题描述:
HTML代码:HTML代码是动态创建的。调试,Jquery功能不起作用
<li>
<div class="above">What do I like best?</div>
<div class="below">
<label>Answer:(1 words)</label>
<input id="question6" type="text" size="5"/>
<label id="sign6"/>
</div>
</li>
<li>
<div class="above">What city do I like?</div>
<div class="below">
<label>Answer:(1 words)</label>
<input id="question7" type="text" size="5"/>
<label id="sign7"/>
</div>
jQuery代码:
function subjectivecheck(id){
alert(id);
var cost=(new Date().getTime() - start.getTime())/1000;
var value=$('#question'+id).val();
$.post("subjectivecheck.php?",{val:value, qid:id,time:cost, a_id:"<?php echo $announcementid; ?>"},function(xm){
switch(parseInt(xm)){
case 4:
{ $htm='Congrats,you have passed the test.';
$('#success').css({"color":"green"});
$('#success').text($htm);
return;
}
case 1:
{
$htm='V';
$('#sign'+id).css({"color":"green"});
$('#sign'+id).text($htm);
break;
}
case 0:{
$htm='X';
$('#sign'+id).css({"color":"red"});
$('#sign'+id).text($htm);
break;
}
case 3:{
$('#subjectivequestion').text('You have failed at this announcement.');
$('#choicequestions').text(" ");
}
}
});
}
var ajaxCallTimeoutID = null;
$('input[id^=question]').keyup(function(ev){
alert(this.id.substr(8));
if (ajaxCallTimeoutID != null)
clearTimeout(ajaxCallTimeoutID);
ajaxCallTimeoutID = setTimeout(subjectivecheck(id), 1000);
});
当我输入的东西question6
或
question7
, 功能$('输入[ID^=问题]')。keyup(function(ev)}不起作用,没有alert()
。这个HTML文件的其他jquery函数工作正常。 有什么想法?
答
确保当你绑定元素 “question7” 或 “question6” 到keyup事件,它存在于页/ DOM因为你是动态生成它。你可以检查它在萤火虫
+0
是的,它存在于页面/ DOM中。 – Steven 2009-12-28 08:05:08
尝试'$(“输入[id^='问题']”)' – 2009-12-28 07:23:35
它不起作用。 – Steven 2009-12-28 07:30:48