Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Javascript 从jQuery刷新/调用PrototypeJs事件_Javascript_Jquery_Magento_Prototypejs - Fatal编程技术网

Javascript 从jQuery刷新/调用PrototypeJs事件

Javascript 从jQuery刷新/调用PrototypeJs事件,javascript,jquery,magento,prototypejs,Javascript,Jquery,Magento,Prototypejs,我有一个Magento网站。我有两个js文件,一个用原型编写,一个用jQuery编写 我有两个选择元素,大约有10个选项。在jQuery中,我将更改第一个select的属性selected,然后再进行一些更改。在Prototype中,我有一个类在两个select元素之间创建依赖关系 如果单击第一个选择元素并用鼠标选择一个选项,则在第二个选择元素上将只显示链接到我在第一个选择元素中选择的选项的选项。这是在原型中完成的 我的想法是希望从jQuery自动执行单击/触发。第一个“选择”选项将更改其选定的

我有一个Magento网站。我有两个js文件,一个用原型编写,一个用jQuery编写

我有两个选择元素,大约有10个选项。在jQuery中,我将更改第一个select的属性selected,然后再进行一些更改。在Prototype中,我有一个类在两个select元素之间创建依赖关系

如果单击第一个选择元素并用鼠标选择一个选项,则在第二个选择元素上将只显示链接到我在第一个选择元素中选择的选项的选项。这是在原型中完成的

我的想法是希望从jQuery自动执行单击/触发。第一个“选择”选项将更改其选定的选项。但第二个选择元素将显示所有选项,并且应仅显示链接到第一个选择元素的选项

在原型文件中,我有一些事件观察者,我猜这些观察者不是从jQuery触发的:

var select_el = $('select_' + id);
...
Event.observe(select_el, 'change', this.update.bindAsEventListener(this));
Event.observe(select_el, 'swatches:change', this.update.bindAsEventListener(this));
...
update: function(event) { ...
所以我需要以某种方式从jQuery触发这些事件,或者在原型中设置自动检查。 请告诉我该怎么办

我在stackoverflow上读到,Prototype中的事件不能从jQuery触发。应该有办法做到这一点。我只是还没找到

我尝试过jQuery函数,如:

  jQuery("option[value='" + checkedId +"']").attr("selected","selected").parent().focus();


  jQuery("option[value='" + checkedId +"']").parent().trigger("onchange");

  jQuery("option[value='" + checkedId +"']").parent().trigger('change');
其中父元素是第一个选择元素。第一个select元素会根据需要进行更改,但第二个select元素会在第一个select元素更改后自动更改。而这永远不会发生。只有当我用鼠标单击“选择”并手动选择一个选项时,它才起作用。我想从jQuery执行此操作,而无需手动单击所需的选项

感谢您阅读本文,现在请为我解决此问题


注意。

关于此问题的解决方法有什么想法吗?有没有理由不在两个库中添加观察者?看起来您有一个单独的函数来处理事件,而不使用闭包,因此您可以定义两个观察者使用相同的处理程序。只是一个想法。我在PrototypeJs中处理事件,我会自动更改从Jquery中选择。事件观察者无法看到jQuery的更改。我怎样才能解决这个问题?