2016-03-30 26 views
0

私は非常に基本的な選択メニューを持っています。現在、スイッチ機能を使用しています。選択に基づいて、ボタンへのリンクを割り当てることができます。私のためのブロックは、複数の選択ボックスを持ち、リンクをつかんでそれをボタンに割り当てるセレクタに少なくとも基づいている方法です。複数の選択ボックスと動的に生成されたリンク

たとえば、最初の選択ボックスには、次のものがあります。車、自転車、ジープ。たとえば「車」の選択に基づいて、関連する選択肢(BMW 3、Audi A4など)を示すセカンドセレクトボックスを希望します。関連するものを表示するための車両の変更について。例えば、 "Honda、Apprilia"などを表示するための "Bikes"。これは[私の現在のコードでは実現可能ですか?

$(document).ready(function(e) { 
 
    $('#basic_plan').change(function(e) { 
 
    var an = $(this).val(); 
 
    switch (an) { 
 

 
     case "ann": 
 
     $('.button-plans a').attr('href', "www.google.com"); 
 
     break; 
 
     case "bi": 
 
     $('.button-plans a').attr('href', "www.yahoo.com"); 
 
     break; 
 
     case "tri": 
 
     $('.button-plans a').attr('href', "www.bing.com"); 
 
     break; 
 
     /* and so on*/ 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="dropdown-plans"> 
 
    <select id="basic_plan" name="bill_cycle"> 
 
    <option value="tri">Cars</option> 
 
    <option value="bi">Bikes</option> 
 
    <option value="ann">Jeeps</option> 
 
    </select> 
 
</div> 
 
<div class="button-plans"> 
 
    <a id="abc" href="something"> Visit now </a> 
 
</div>

+0

関連するコンボを作成する必要があります。どうぞ、Googleで関連する選択コンボを作る方法を見てください。あなたは何千もの方法を得るでしょう。 –

+0

実際に何が問題なのですか? –

+0

Sharma SK 2番目の選択メニューを追加します。関連リンクに行くことができる最初のアイテムを1つだけ選択した場合、または2番目の選択ボックスからアイテムを選択して再度リンクに行く場合 – John

答えて

1

私は、あなたが彼らのidに作る選択に応じてその可視性を変更すること、それらをデフォルト(とときchange()トリガ)によって隠さ作るために新しいselect要素にclassを追加しました:二selectについて

$(document).ready(function() { 
    $('#basic_plan').change(function() { 
    $('.second-select').hide(); 
    var an = $(this).val(); 
    switch (an) { 
     case "ann": 
     $('.button-plans a').attr('href', "www.google.com"); 
     $('#jeeps').show(); 
     break; 
     case "bi": 
     $('.button-plans a').attr('href', "www.yahoo.com"); 
     $('#bikes').show(); 
     break; 
     case "tri": 
     $('.button-plans a').attr('href', "www.bing.com"); 
     $('#cars').show(); 
     break; 
     /* and so on */ 
    } 
    }); 
}); 

要素:

$('.second-select').change(function() { 
    var an = $(this).val(); 
    switch (an) { 
     case "1": 
     $('.button-plans a').attr('href', "www.example.com"); 
     break; 
     case "2": 
     $('.button-plans a').attr('href', "www.bitbucket.org"); 
     break; 
     case "3": 
     $('.button-plans a').attr('href', "www.facebook.com"); 
     break; 
    } 
    }); 
}); 

JsFiddle demo

注::アンカーから404を受け取った理由は、JsFiddleがデフォルトのURLとリンクをURIとして追加することです。

+0

ありがとうurbzそれは素晴らしいですね!唯一の動作しないこと:2番目の選択オプションに異なるURLを割り当てるにはどうすればよいですか?私は大文字小文字を追加しようとしましたが、それでも親リンクを選択します。 – John

+0

更新された[リンク](https://jsfiddle.net/8p0d0rsa/5/)を見て、答えてください! :-) – urbz

0

あなたはそれを行うことができます。

$(document).ready(function(e) { 
    $('#basic_plan').change(function() { 
    $('.button-plans a').attr('href', $(this).find('option:selected').attr('data-url')); 
    }); 
}); 

https://jsfiddle.net/6oemzgbo/

その作品を参照してください。

+0

Gregはリンクが404を返すようですか?また、どのように私はそれがURLのための支配的な選択でなければならない2番目の選択ボックスを追加することを知っているだろうか? – John

+0

このhttps://jsfiddle.net/6oemzgbo/2/を試してください。必要に応じて、target = "_ blank"を削除することができます。 – Greg

関連する問題