2012-02-15 4 views
0

私は、複数の入力フィールドと3つの主要なオプションを持つフォームを持っています。ユーザーが選択するオプションに応じて、関連性のないフィールドを非表示にして関連性のあるフィールドを表示したいと考えています。どのように私はこれを達成するかもしれないかについていくつかの助言を私にすることができます。varをjquery関数に渡す

私の2番目の質問は、それぞれのフィールドにいくつかの例文があります。もう一度、私はユーザーが選択した内容に応じてテキストを変更できるようにしたいと考えています。これまでのところ、フィールドの隣にある<p>タグに各テキストを表示し、2つのクラスを与えました。 1つはスタティックでテキスト(.htxt)を、もう1つは.option1 .option2 .option3のいずれかです。ユーザがオプション1をクリックしたときに私はので、私がこれまで

$(".link").click(function() { 
     $(".hTxt").hide("slow"); 
     // this gets the id of the link (option 1, option2, option3) 
     target = $(this).attr("id"); 
     $(".hTxt ." + target).show("slow"); 
    }); 

これは、私がいずれかの場合には思っていた動作するようには思えないこのようなものを持っているすべてのオプション2と3のテキストを非表示にするとのみ1を表示しますこれで私を助けることができた。それを呼び出すリンクはあなたがIDを保存し、それを使用してクラスを選択しているので、

<a class="link" id="option1">this is option1</a> 
+1

はhtmlを投稿できますか? – Hadas

+0

あなたのhtmlのサンプルを投稿していただけますか? – mamoo

答えて

1

のように見えながら、テキストのいずれかの

HTMLはとても

<p class="hTxt option1" >help me</p> 

のように見えます。 >$("#hTxt").hide("slow");

-EDIT-

- そのID場合 $(".hTxt").hide("slow");

>そのAクラス - あれば$("#.hTxt").hide("slow");

:あなたがミックスを行う

$(".link").click(function() { 
     $("#.hTxt").hide("slow"); 
     // this gets the id of the link (option 1, option2, option3) 
     target = $(this).attr("id"); 
     $(".link #" + target).show("slow"); /* #id VS .class */ 
    }); 

、ここで、代わりにこのようにしてみてください

あなたのコメントで、hTxtはクラスだと推測していますので、このように試してみてください。

$(".link").click(function() { 
     $(".hTxt").hide("slow"); 
     // this gets the id of the link (option 1, option2, option3) 
     target = $(this).attr("id"); 
     $(".link #" + target).show("slow"); 
    }); 
+2

しかし関連するHTMLを投稿すれば、より良い結果を得ることができます –

+0

ユーザーがオプションの1つをクリックすると理論的に関連する変更があり、最初にすべての.hTxtタグを非表示にしてから.hTxt .option1 2または3を表示する必要があります – c11ada

+0

コメント –

関連する問題