Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.change()不起作用_Jquery_Onchange - Fatal编程技术网

jQuery.change()不起作用

jQuery.change()不起作用,jquery,onchange,Jquery,Onchange,我有输入,这是其change事件的代码: $(document).on("change", "select[id $= 'Type']", function(){ var id = $(this).attr('id'); id = id.replace("Question", ""); id = id.replace("Type", ""); id = id.replace("Option", "###"); var split = id.split("

我有输入,这是其
change
事件的代码:

$(document).on("change", "select[id $= 'Type']", function(){ 
    var id = $(this).attr('id');
    id = id.replace("Question", "");
    id = id.replace("Type", "");
    id = id.replace("Option", "###");
    var split = id.split("###");
    var qno = split[0];
    var ono = split[1];
    setOptionContentInput($(this).val(), qno, ono);
});
这很好用

但是当我在
$(document).ready()函数中调用下面的代码时,它不起作用,我不知道为什么

$(document).ready(function() {
  $("select[id $= 'Type']").change();
});
以下是
setOptionContentInput()
函数:

function setOptionContentInput(type, qno, ono){
  switch(type) {
    case "<?php echo TEXT_OPTION; ?>":
      $(".image_option_" + qno + "_" + ono).attr('disabled', 'disabled');
      $(".image_option_" + qno + "_" + ono).hide();
      $(".sound_option_" + qno + "_" + ono).attr('disabled', 'disabled');
      $(".sound_option_" + qno + "_" + ono).hide();
      $(".text_option_"  + qno + "_" + ono).removeAttr('disabled');
      $(".text_option_"  + qno + "_" + ono).show(500);
      $(".text_option_"  + qno + "_" + ono).siblings("label").show(500);
      break;

    case "<?php echo IMAGE_OPTION; ?>":
      $(".text_option_"  + qno + "_" + ono).attr('disabled', 'disabled');
      $(".text_option_"  + qno + "_" + ono).hide();
      $(".text_option_"  + qno + "_" + ono).siblings("label").hide();
      $(".sound_option_"  + qno + "_" + ono).attr('disabled', 'disabled');
      $(".sound_option_"  + qno + "_" + ono).hide();
      $(".image_option_"  + qno + "_" + ono).removeAttr('disabled');
      $(".image_option_"  + qno + "_" + ono).show(500);
      break;

    case "<?php echo SOUND_OPTION; ?>":
      $(".text_option_"  + qno + "_" + ono).attr('disabled', 'disabled');
      $(".text_option_"  + qno + "_" + ono).hide();
      $(".text_option_"  + qno + "_" + ono).siblings("label").hide();
      $(".image_option_"  + qno + "_" + ono).attr('disabled', 'disabled');
      $(".image_option_"  + qno + "_" + ono).hide();
      $(".sound_option_"  + qno + "_" + ono).removeAttr('disabled');
      $(".sound_option_"  + qno + "_" + ono).show(500);
      break;

    default:
  }
}
函数设置选项内容输入(类型、qno、ono){
开关(类型){
案例“”:
$(“.image\u option\u”+qno+“\u”+ono.attr('disabled','disabled');
$(“.image\u option\u”+qno+“\u”+ono.hide();
$(“.sound\u option”+qno+“+ono.attr('disabled','disabled');
$(“.sound\u option\u”+qno+“\u”+ono.hide();
$(“.text\u option\u”+qno+“\u”+ono).removeAttr('disabled');
$(“.text_option_u”+qno+“u”+ono).show(500);
$(“.text\u option\uu”+qno+“+ono).兄弟姐妹(“标签”).show(500);
打破
案例“”:
$(“.text\u option\uu”+qno+“\u”+ono.attr('disabled','disabled');
$(“.text\u option\uu”+qno+“\u”+ono.hide();
$(“.text\u option\u”+qno+“\u”+ono).slides(“label”).hide();
$(“.sound\u option”+qno+“+ono.attr('disabled','disabled');
$(“.sound\u option\u”+qno+“\u”+ono.hide();
$(“.image\u option\u”+qno+“\u”+ono).removeAttr('disabled');
$(“.image\u option\uu”+qno+“\uu”+ono).show(500);
打破
案例“”:
$(“.text\u option\uu”+qno+“\u”+ono.attr('disabled','disabled');
$(“.text\u option\uu”+qno+“\u”+ono.hide();
$(“.text\u option\u”+qno+“\u”+ono).slides(“label”).hide();
$(“.image\u option\u”+qno+“\u”+ono.attr('disabled','disabled');
$(“.image\u option\u”+qno+“\u”+ono.hide();
$(“.sound_option_u”+qno+“u”+ono).removeAttr('disabled');
$(“.sound_option_u”+qno+“u”+ono).show(500);
打破
违约:
}
}

有人能帮忙吗?Thx.

试着按如下方式调用它

$(document).ready(function() {

    $("select[id $= 'Type']").change(function(){
        // call the function you want with necessary parameters
    });

});
如果
$(document).ready()不起作用,但
$(window.load()
do,您以前可能在DOM中有一个错误

当您使用多个
$(document.ready()。如果第一个错误发生,它可能会相互阻塞。这就是为什么您仍然可以使用
$(window.load()


对于下一个遇到此问题的人:检查JS控制台(通过Webkit开发工具或Firebug,无论什么),查找此类错误,修复它,然后重试;)

事件处理程序是否至少被调用?在调用
.change()
之前是否绑定事件处理程序?还请说明“不工作”的含义。做一些调试,测试事件处理程序是否被调用,如果是,选择元素在那一刻有哪个值,等等…您好,我现在已经修复了它。我放置了$(“选择[id$='Type']);进入$(window).load(function(){}现在它可以工作了。我正在使用CakePHP和.image\u option\uu、.sound\u option\uu和text\u option\udiv在另一个文件(在CakePHP元素中)中。所以问题可能是,$(document).ready(function(){})不等待来自另一个文件的这些输入。对不起,我的英语:)这应该不是问题。。。输出作为一个整体创建,然后发送到浏览器。但也许陈述的顺序搞砸了。要么提供你的解决方案作为答案(一旦可以),并详细描述出错的原因(你应该确保找到实际原因),要么删除你的问题。