2016-10-11 60 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> 

腳本。對不起,它是本機JS,因爲我不知道如何使用jQuery。希望有人爲你翻譯它。

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選。希望能幫助到你!

+1

感謝你的努力,我也會用'div'做一些事情,但是如果它有效的話,我會接受它。 –

+0

很高興我幫助:) –

0

到HERMA紅月的我決定去尋找,而不是股利類似,帶班boostrap-select

因此,使用下面的代碼,我可以得到的ID。

$('div.bootstrap-select').on('click', function(){  
    console.log($(this).find("select").attr("id")); 
});