在这个问题之后:How to have different link,当页面上有两个select2时,我的用法不一样。 见http://jsfiddle.net/7J8Ag/26/:
function format(state) {
return state.text + " ( " + state.id + " ) <i class='info' id='" + state.id + "'>link</i>";
}
//>>>>>>>>>>>>>>>> #select0
$("#select0").select2({
// formatResult: format
});
$("#select0").on('select2-selecting', function (e) {
alert("ok " + e.val);
});
//>>>>>>>>>>>>>>>>>> #select1
$("#select1").select2({
formatResult: format
});
// When selecting without using search box (no problem)
$("#select1").on('select2-selecting', function (e) {
alert("okkk " + e.val);
});
// link directly, without use search box of #select1 (no problem)
$("#select1").on('select2-open', function () {
$('.select2-results i').on('mouseup', function (e) {
alert("link 1 " + e.target.id+ " >>>OK");
});
});
// link after a search with search box of #select1. Problem : it's not ok when there are two select2 on the page
$(".select2-input").change(function () { //change or focus
if ($(".select2-input").val() != '') $('.select2-results i').on('mouseup', function (e) {
alert("link 2 " + e.target.id+ " >>>OK");
// window.open("http://obs43.fr/carte6-04.php?ci=" + e.target.id);
});
});
1 /当我评论“#select0”时,使用#select1就可以了:没问题。
2 /但是#select0后,#select1 搜索框搜索后#select1 的链接不正常。
我该怎么办?
答案 0 :(得分:0)
if($(“。select2-input”)这个选择器不够具体。添加一个 select到select元素的类,然后将其复制到select中 容器,然后更改您的选择器以包含它。
请参阅http://jsfiddle.net/7J8Ag/29/
$(".second .select2-input").change(function () { //change or focus
if ($(".second .select2-input").val() != '') $('.select2-results i').on('mouseup', function (e) {
alert("link 2 " + e.target.id+ " >>>OK");
});
但是,有一个新问题: 当我在#select1的搜索框中时,我没有列表中相同字母的下划线。我理解函数格式()是这个问题的原因,但我不知道怎么回到这个“函数下划线”? CM