Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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$(“elementID”)。单击“与其他elementID交互”_Jquery_Jquery Selectors_Webforms - Fatal编程技术网

jQuery$(“elementID”)。单击“与其他elementID交互”

jQuery$(“elementID”)。单击“与其他elementID交互”,jquery,jquery-selectors,webforms,Jquery,Jquery Selectors,Webforms,Htmlshot: 场景:当我选中Polozka 1,然后选择Pulena并取消选中Polozka 1时,一切正常。但是,在完成上述过程后,当我选中Polozka 2时,Polozka 1框突然出现。Polozka 1框的显示限制于检查Polozka 1,而不是Polozka 2 有人能解释这种奇怪的行为吗 事件处理程序的代码: $('#frmletakForm-polozka1').on("click", function(){ var pulena1Box = $("#pule

Htmlshot:

场景:当我选中Polozka 1,然后选择Pulena并取消选中Polozka 1时,一切正常。但是,在完成上述过程后,当我选中Polozka 2时,Polozka 1框突然出现。Polozka 1框的显示限制于检查Polozka 1,而不是Polozka 2

有人能解释这种奇怪的行为吗

事件处理程序的代码:

  $('#frmletakForm-polozka1').on("click", function(){
     var pulena1Box = $("#pulena1Box");
     var radioPulena1 = $("#frmletakForm-typpolozky1-1");
     if(!$(this).is(":checked") && radioPulena1.is(":checked")) {
      pulena1Box.toggle();
     }
   });
  $('#frmletakForm-polozka2').on("click", function(){
     var pulena2Box = $("#pulena2Box");
     var radioPulena2 = $("#frmletakForm-typpolozky2-1");
     if(!$(this).is(":checked") && radioPulena2.is(":checked")) {
      pulena2Box.toggle();
     }
   });

提前感谢您的帮助。

您最好这样做,这样您就不必为每个复选框重复所有1,2,3,4数字,代码也就更少了

$('[id^="frmletakForm-polozka"]').on("click", function(){
    var num = this.id.replace(/[^0-9]/g, "");
    var pulenaBox = $("#pulena" + num + "Box");
    var radioPulena = $("#frmletakForm-typpolozky" + num + "-1");
    if(!$(this).is(":checked") && radioPulena.is(":checked")) {
        pulenaBox.toggle();
    }
});
我还从您的页面中获得以下错误:

Uncaught TypeError: Cannot read property 'id' of undefined Leetleaflet.htm:1446
Uncaught TypeError: Cannot read property 'id' of undefined saved_resource.htm:735
5Unable to post message to http://googleads.g.doubleclick.net. Recipient has origin http://fallenhero.mysteria.cz.

该错误是由您使用nette.toggle引起的

例如代码

    visible = true; val = nette.getValue(form["typpolozky1"]); res = (val=="p"); visible = visible && res;

    nette.toggle("pulena1Box", visible);
仅检查选择列表的值,而不检查封闭容器是否可见


由于整个功能是为所有辅助项运行的,因此,如果选择了要检查的项,则每次表单发生变化时,都会显示这些辅助项。

我在浏览器中没有看到这种情况。在Firefox 7.1和Chrome 17.0.939中都会出现这种情况。你使用什么浏览器?当页面加载时,我在javascript中看到错误。dom未定义这些javascript错误只发生在htmlshot。但是如果没有这些错误,它也不能工作。谢谢你,它现在看起来更优雅了。但它仍然不起作用。这些错误只出现在htmlshot中,不会影响框切换。谢谢!我很难将JavaScript和NetteAPI结合起来,所以我只是将您所说的条件添加到表单创建脚本中$form->addHiddenkontrolaBoxu+$i->addConditionOn$form['typpolozky.$i],NForm::EQUAL,'p'->addConditionOn$form['polozka.$i],NForm::EQUAL,'TRUE'->切换'pulena'。$i.'Box';