0

我有这样的jquery代码,它可以工作,但是箭头键按下有问题。

 $(document).ready(function() {   
  $(function(){
     $("#tasks").hide();
        $("select#categories").livequery("change", function () {
                $("#tasks").show();
                $.getJSON("ajax.php?module=responsables&action=list_tasks",{id: $(this).val()}, function(j){

                        if($("#categories").val()=="-0") 
                        {                               
                                $("#tasks").hide();
                        }
                        //if the div is hidden
                        $("div#form_objectifs").hide();
                        var options = '';
                        for (var i = 0; i < j.length; i++)
                        {
                                options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
                        }
                        $("#tasks").html(options);
                        $('#tasks option:first').attr('selected', 'selected');
                })
        }).livequery("keypress", function() { 
              $(this).trigger("change");    
            });

 });
</script>

我已经尝试过这个:http: //jsfiddle.net/tW6Su/2/这给了箭头按键过滤器的可能性。

所以我尝试了:

<script type="text/javascript" charset="utf-8">
 $(document).ready(function() {   
    $(function(){
         $("#tasks").hide();
            $("select#categories").livequery("change", function () {
                    $("#tasks").show();
                    $.getJSON("ajax.php?module=responsibles&action=list_tasks",{id: $(this).val()}, function(j){

                            if($("#categories").val()=="-0") 
                            {                               
                                    $("#tasks").hide();
                            }
                            //if the div is hidden
                            $("div#form_objectifs").hide();
                            var options = '';
                            for (var i = 0; i < j.length; i++)
                            {
                                    options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
                            }
                            $("#tasks").html(options);
                            $('#tasks option:first').attr('selected', 'selected');
                    })
            }).livequery("keypress", function() { 
           $(this).trigger("change");


 });
</script>

但是我遇到了一个js错误。

$("select#categories").livequery is not a function http://localhost/project/index.php?module=responsibles&action=objectivs Line 120

任何人都可以帮助我有什么问题吗?谢谢

4

1 回答 1

1

运行时似乎 jsFiddle 不包括脚本。当我将它包含在 HTML 中时,它按预期工作。

http://jsfiddle.net/tW6Su/11/

于 2012-07-02T17:19:44.193 回答