我有这样的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
任何人都可以帮助我有什么问题吗?谢谢