【问题标题】:debug, Jquery function does not work调试,jquery函数不起作用
【发布时间】:2009-12-28 07:20:23
【问题描述】:

HTML 代码:HTML 代码是动态创建的。

<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

中输入内容时

问题7

, 函数 $('input[id^=question]').keyup(function(ev) }, 不起作用,没有 alert() 。这个 HTML 文件的其他 jquery 函数工作正常。 有什么想法吗?

【问题讨论】:

  • 试试$( "input[ id ^= 'question' ]" )

标签: jquery debugging jquery-selectors


【解决方案1】:

确保将 jQuery 脚本包装在 $(document).ready() 中。

$(document).ready(function() {
  // your jQuery script here.
});

$(function(){
  // your jQuery script here.
});

【讨论】:

  • 即使我将 Jquery 脚本包装在 $(document).ready() 中,它也不起作用。
【解决方案2】:

请确保当您将该元素“question7”或“question6”绑定到 keyup 事件时,它存在于页面/DOM 中,因为您正在动态生成它。你可以在萤火虫中检查它

【讨论】:

  • 是的,它存在于页面/DOM中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多