所以我使用bootstrap select,但是,当我添加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"
,您就会看到问题)
答案 0 :(得分: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-select。希望它有所帮助!
答案 1 :(得分:0)
与Herma Luna相似,我决定去找div而不是boostrap-select
因此,使用下面的代码我可以获得id。
$('div.bootstrap-select').on('click', function(){
console.log($(this).find("select").attr("id"));
});