我在php文件中有这个代码。它应该根据特定的参数显示和隐藏一些html内容(我有一组复选框,如果你检查它们,会出现一些东西,或者根据复选框隐藏它们)。
现在,由于我的样式表获得了很多错误,并且在剥离之后,我仍然得到这个:在firefox错误控制台中“隐藏未定义”(我在firebug中尝试了错误控制台,并且没有显示任何内容) )。
这是代码,我不明白hide是如何定义的:
$script =
$("input[id^=\'edit-field-tipos-unidades-disponible-value\']").change(function(){' .
$(".fila-matriz-gastos").hide();' .
$(".fila-matriz-gastos").prev("label").hide();' .
$("input[id^=\'edit-field-tipos-unidades-disponible-value\'][checked]").each(function(){' .
var tipo = $(this).val();' .
$(".tipo-uf-" + tipo).show();' .
$(".tipo-uf-" + tipo).prev().show();' .
$("input.tipo-uf-"+tipo+"[value=-1]").click(function(){' .
$("input.tipo-uf-" + tipo).attr("checked", $(this).attr("checked"));' .
});' .
});' .
}).change();';
我在这里几乎不知所措,因为我想主题输出,但我不太了解javascript的工作原理。
谢谢!
更新:
这是隐藏或显示的输出:
<fieldset class=" collapsible">
<legend>
<a href="#">Matriz de Gastos</a>
</legend>
<div>
<div class="form-item">
<label style="display: none;">
Gastos por
<em>Departamento</em>
:
</label>
<div class="form-checkboxes tipo-uf-131 fila-matriz-gastos hidden" style="display: none;">
<div id="edit-matriz-gastos-131--1-wrapper" class="form-item">
<label class="option" for="edit-matriz-gastos-131--1">
<input id="edit-matriz-gastos-131--1" class="form-checkbox tipo-uf-131 fila-matriz-gastos hidden" type="checkbox" value="-1" name="matriz_gastos[131][-1]" style="display: none;">
Seleccionar/deseleccionar todos
</label>
</div>
<div id="edit-matriz-gastos-131-108-wrapper" class="form-item">
<label class="checkbox" for="edit-matriz-gastos-131-108">
<input id="edit-matriz-gastos-131-108" class="form-checkbox tipo-uf-131 fila-matriz-gastos hidden" type="checkbox" value="108" name="matriz_gastos[131][108]">
Gas
</label>
</div>
这是一个隐藏或显示内容的复选框,根据是否点击:
经过:
<label style="display: block;"><label style="display: block;">
Gastos por
<em>Departamento</em>
:
</label>
<div class="form-checkboxes tipo-uf-131 fila-matriz-gastos hidden" style="display: block;">
未选中:
<label style="display: none;">
Gastos por
<em>Departamento</em>
:
</label>
<div class="form-checkboxes tipo-uf-131 fila-matriz-gastos hidden" style="display: none;">
和另一个更新:
以下是我在jQuery docs找到的内容:
隐藏.hide()函数 - DOM操作
此功能隐藏页面上的匹配元素。它的作用是什么 将显示配置设置为“无”。您可以设置速度 消失'快','正常'或'慢'和回调功能 在影响被允许后被执行。
实施例
$("#class_div").hide();
在
<div id='class_div'>Hello world</div> <div id='class_div_2'>Hello world</div>
在:
<div id='class_div' style="display:none;">Hello world</div> <div id='class_div_2'>Hello world</div>
答案 0 :(得分:1)
在页面的头部包含jQuery。如果你已经加载了jQuery并且仍然有这个问题,那么你也将加载prototype.js / mootools / dojo或你修补$ function。要在其他库旁边使用jQuery,请在include之后直接调用'jQuery.noConflict()',并在脚本中用'jQuery'替换所有'$'。
答案 1 :(得分:0)
.hide
可能是一个jQuery函数。我认为你从页面中删除了jQuery。在FireBug中,进入脚本选项卡并在加载的文件中查找jQuery。你看到了吗?
答案 2 :(得分:0)
如果在noconflict模式下加载jQuery,无论你是使用mootools还是其他任何库,都需要用jQuery替换$或者在函数中将$ back赋值给jQuery。
EG
jQuery("#class_div").hide();