2016-10-11 6 views
0

しかし、class="selectpicker"を追加すると、ブートストラップセレクトが使用されます。セレクトボックスクリック機能が検出されなくなったブートストラップ

私は機能を持っている:

$("select").click(function() 
{ 
    if (this.id.match(/rest/g)) 
    { 
     return; 
    } 
    name = this.id; 
    console.log(name); 

    select_id = name.replace("_free", ""); 
    radio = select_id + '_radio'; 
    //$('input:radio[name='+radio+']:checked').prop('checked', false).checkboxradio("refresh"); 
    document.getElementById(select_id + "_radio3").checked = true; 
} 

これが行うことは、その後にチェックラジオボタンを変更する、クリックされたかを選択決定しています。しかし、selectpickerで追加した後は、multipleのものだけがラジオボタンを変更します。

これを回避する方法はありますか。

https://jsfiddle.net/34ksL2h5/3/

class="selectpicker"を削除し、問題が表示されます)

+1

フィドルを提供できますか? –

+0

htmlコードも追加できますか? – sahil

+0

@HermLuna追加 –

答えて

0
<div> 
    <input id="select1_radio" type="radio" name="radio1"> 
    <select id="select1" class="selectpicker"> 
    <option>some option 1</option> 
    <option>some option 2</option> 
    <option>some option 3</option> 
    </select> 
</div> 
<div> 
    <input id="select2_radio" type="radio" name="radio1"> 
    <select id="select2" class="selectpicker"> 
    <option>some option 1</option> 
    <option>some option 2</option> 
    <option>some option 3</option> 
    </select> 
</div> 

スクリプト。申し訳ありませんが、jQueryの使い方がわからないので、ネイティブJSです。誰かがあなたのためにそれを翻訳することを願っています。

フィドル作業
var sel = document.querySelectorAll('.bootstrap-select'); 

[].forEach.call(sel, function(elem){ 
    elem.onclick = function(){ 
    this.previousElementSibling.checked = true; 
    } 
}); 

// $(".selectpicker").selectpicker(); 

https://jsfiddle.net/34ksL2h5/10/

トリガーは.bootstrap選択でした。それが役に立てば幸い! Hermaルナさんに似て

+1

努力のおかげで、私は 'div'でも何かをやろうとしていましたが、うまくいけば取りに行きます。 –

+0

私は助けて嬉しい:) –

0

私は、だから私は、IDを取得することができます以下のコードを使用して、クラスboostrap-select

で、代わりにDIVを探しに行くことにしました。

$('div.bootstrap-select').on('click', function(){  
    console.log($(this).find("select").attr("id")); 
}); 
関連する問題