首页 > 解决方案 > FABRIK:如何隐藏元素使用下拉元素

问题描述

我在同一组中有 6 个下拉菜单...(怀疑,应该在同一组中,或者选择器应该在其他组中??)

dropdown-1 : is a language selector --> with 5 languages, language-1,2,3,4,5

5 others dropdowns.
dropdown-2 for language-1
dropdown-3 for language-2
dropdown-4 for language-3
dropdown-5 for language-4
dropdown-6 for language-5

first thing i'm tying is if dropdown-1 = 0 --> when you "load page" hide all rest of dropdowns
if dropdown-1 = 1 --> show only the dropdown-2 for language-1
if dropdown-1 = 2 --> show only the dropdown-3 for language-2
if dropddown-1 = 3 --> show only the dropdown-4 for language-3
if dropddown-1 = 4 --> show only the dropdown-5 for language-4
if dropddown-1 = 5 --> show only the dropdown-6 for language-5

在 javascript 插件的 dropdown-1 中,我尝试了“加载”事件和代码 JS,只是第一个选项,用于 dropdown-1=0。隐藏其他元素,在最后一个元素插件中,我选择了下拉列表所在的组。插件看起来像这样。

[ELEMENT FABRIK PLUGIN][1]

但是代码不喜欢(尽管我使用类似的东西并且可以在其他网络中使用)或者可能第一个下拉列表应该不在该组中..但是我尝试了,但这也不起作用。

我也尝试过,使用 USE 预定义的 ACTION.. 但我无法隐藏任何元素

图片

标签: joomla

解决方案


我错过了""你做出选择的时候。

当我写if($sel==="0")代码运行。

插件中用于隐藏“加载时”元素的代码是:

var $sel = this.getValue();
var $esp= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___selector_idioma');
var $nom1= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___es_selector_carta');
var $nom2= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___cat_selector_carta');
var $nom3= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___eus_selector_carta');
var $nom4= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___gl_selector_carta');
var $nom5= Fabrik.getBlock('form_68').formElements.get('cartas_restaurantes___eng_selector_carta');

if($sel==="0"){
  $nom1.hide();
  $nom2.hide();
  $nom3.hide();
  $nom4.hide();
  $nom5.hide();

}

推荐阅读