2012-02-18 10 views
0

誰かが私を助けることができますか? 私はショーが2つの選択ボックス この私のコードjqueryでdivを2つ選択ボックスから2つの値に応じてdivを表示します。

$("#offer_seeking_select").change(function(){ 
var offer_seeking=$(this).val(); 
var selectedCategory=$("select.category-select:visible").last().find("option:selected").val(); 

$.get(www_base+"adding.php?cID="+selectedCategory+"&offer="+offer_seeking,function(data){ 
if(data.status=="ok"){$("#forms").html(data.html).trigger("forms_content_updated") 
}})}); 

htmlコード

<select id="drop-2"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select> 
<select id="drop-3"><option value="offer">Offer</option><option value="seeking">Seeking</option></select> 
<div id="forms"></div> 

およびshow非表示になりますadding.phpでいくつかの「DIV」の値に応じて、jqueryのことで、いくつかのdivを非表示にしたいです#drop-2とdrop-3から選択した場合の値に応じた#formsで、drop-2から1を選択し、drop-3 show #oneと#three hide #twoから提供します。ドロップ3のショーから求めて##2つと#3つのhide #one

ファイルadding.phpでこのHTML私は選択のIDに対応するクラスを使用していますこのようなものについては、あなたがする必要があるかもしれませんどのように

<div id="one">abc</div> 
<div id="two">123</div> 
<div id="three">789</div> 
+1

あなたはあなたのコードをクリーンアップし、以下の文字列連結のを行うにはしばらく時間がかかる可能性があります。 – Oybek

答えて

0

ファイルadding.phpにCIDとのオファーを取得することはできませんので、私が完全に理解しているかどうかわからないので、あなたの必要なロジックに合うようにリファクタリングしてください。ここ

$('#foo, #bar').change(function(e) { 
    var $elm = $(e.target); 
    var $elmDiv = $('.' + $elm.attr('id')); 

    if ($elm.val() !== "") { 
     $elmDiv.show(); 
    } else { 
     $elmDiv.hide(); 
    } 
});​ 

demo

+0

2つの選択ボックス#drop-2と#drop-3の中で 'category-select'クラスを選択してください。 – Nguyen

+0

[here](http://jsfiddle.net/8C8GG/4/) –

+0

のような複数のクラスを使用できます。 selectbox#drop-2からカテゴリ値を選択し、selectbox#drop-3からカテゴリ値を選択する必要があります。これは、変数selectedCategoryとoffer_seekingをadding.phpファイルに渡す必要があります。このファイルはMysqlで動作し、$ .get(www_base + "(data.status ==" ok "){$("#forms ").html(data.html)のように、" added.php?cID = "+ selectedCategory +"&offer = "+ offer_seeking、function(data){ trigger( "forms_content_updated") }})});この結果からdiv#フォームにデータを埋め込みます(div#1またはdiv#2)。 – Nguyen

関連する問題