2012-03-08 18 views
-1

私はこのコードをPHPファイルの中に入れています。それは特定のパラメータ(私はチェックボックスのセットを持っており、あなたがそれらをチェックした場合、いくつかのものが表示されるか、チェックボックスに応じて非表示になる)に従ってHTMLの部分を表示して非表示にする必要があります。このjavascript関数は定義されていませんか?どうすれば修正できますか?

私のスタイルシートのために多くのエラーが発生し、それを取り除いた後でも、私はまだこのファイルを取得しています:firefoxエラーコンソールで "hide is not defined"何もない)。

は、これはコードであり、私が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の仕組みの多くを理解しています。

ありがとうございます!

UPDATE:

これは隠すかを示して出力されます:

<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;"> 

、別のUPDATE:I'veがjQuery docsで見つけたもの

Here's:

隠す.hide()関数 - DOM操作

この関数は、一致する要素を非表示ページ上に表示設定を 'none'に設定するのは です。 のスピードを 'fast'、 'normal'または 'slow'の消失と、影響が許容された後に実行されるコールバック関数 に設定できます。 <div id='class_div'>Hello world</div> <div id='class_div_2'>Hello world</div>

$("#class_div").hide();

後: <div id='class_div' style="display:none;">Hello world</div> <div id='class_div_2'>Hello world</div>

+1

Ackを!私の目は、あなた自身の正気のために、[テンプレートエンジン](http://www.webresourcesdepot.com/19-promising-php-template-engines/)、または少なくともいくつかの[heredoc](http: /www.tuxradar.com/practicalphp/2/6/3)! – JonnyReeves

+0

レンダリングされたHTML/JSコードを表示してください... – powtac

+0

私はそれについて残念です!コードを読みやすくするにはどうしたらよいですか?私はコードに慣れていないし、ヘレドックについてもテンプレートanginesの使い方についても知らなかった。これは私のものではないコードです。私はそれを理解したかったのです。 – Rosamunda

答えて

0

.hideおそらくjQueryの関数です。私はあなたがページからjQueryを削除したと思います。 FireBugでは、スクリプトタブに行き、ロードされたファイルでjQueryを探します。あなた見えますか?

+0

あなたは正しくありますが、$が定義されているようです。これは正常に実行されている他のフレームワークです。 – powtac

+0

ありがとうございます。ですそこ。これはDrupalのインストールであり、このコードは私がCSSを変更するまで働いていました... – Rosamunda

+0

[OK]を、私は最高のものとしてaccepingですが、問題は解決していない...: '( – Rosamunda

1

あなたのページの先頭にjQueryが含まれています。これはJeffが既に指摘しているとおりです。 jQueryがロードされていても問題が残っている場合は、prototype.js/mootools/dojoをロードするか、$関数を使用して修正してください。他のライブラリの隣でjQueryを使用するには、インクルードの直後に'jQuery.noConflict() 'を呼び出し、すべての' $ 'をスクリプトの'jQuery'に置き換えます。

+0

ありがとうしかし、私はmootoolsを使用していません。このテーマは、TwitterのBootstrapに基づいており、jQueryも使用しています... – Rosamunda

+0

このコードはファイル内の他のJavaScriptと競合している可能性がありますか? – Rosamunda

0

jQueryがnoconflictモードで読み込まれている場合、mootoolsやその他のライブラリを使用している場合は、$をjQueryに置き換えるか、関数内で$ backをjQueryに割り当てる必要があります。

EG

jQuery("#class_div").hide(); 
関連する問題