jquery - 如何拥有不同的链接

标签 jquery jquery-select2

我是 JS > jQuery > select2 和 ... 英语新手! 我的问题:我想要 http://jsfiddle.net/JfWtJ/1/ 中的链接是动态的。

所以,我第一次测试:

function format(state) {
    return state.text + "<a class='info' target='_blank' href='http://obs43/test.php?param="+state.id+"'  >link</a>";
}

(参见 http://jsfiddle.net/7J8Ag/ )但这不行。

第二次,我测试http://jsfiddle.net/7J8Ag/1/与:

$("#select").on('open', function() { 
    $('.select2-results i').on('mouseup', function() { 
        $('#select').on('change', function() { 
            window.open("http://obs43/test.php?param=" + $("#select").val());
        });
    }); 
});

第一次选择是可以的,但是在第二次选择时,有两个“window.open”,在第三次选择时,有三个“window.open”,等等

为什么?我该如何正确地执行此操作?

I specify that I want that "window.open..." start with ONLY to click on "link" and not with "$('#select').on('change'..."

我使用第二个写入,因为

$("#select").on('open', function() { 
$('.select2-results i').on('mouseup', function() { 
     window.open("http://obs43/test.php?param=" + $("#select").val()); 
}); "

看起来不错,但如果你仔细看的话,你会注意到 $("#select").val() 是优先项,而不是列表中选项的 $("#select").val() 。最后一个原则在完整列表中是正确的,但是当您在第一次搜索后使用该列表时就不行了......

最佳答案

使用这个js它将解决你的问题

 function format(state) {
// if (!state.id) return state.text; // optgroup
return state.text + "<i class='info' id='"+state.id+"'>link</i>"+state.id;
//return state.text + "<a class='info' target='_blank' href='http://obs43/test.php?param="+state.id+"  >link</a>";
}

$("#select").select2({
formatResult: format,
escapeMarkup: function(m) { return m; }
});

   $("#select").on('open', function() { 
$('.select2-results i').on('mouseup', function(event) { 
  //  alert(event.target.id);
     window.open("http://obs43/test.php?param=" +event.target.id);
}); 
});

添加此功能

$("#select").on('open', function() { 
$('.select2-results i').on('mouseup', function(event) { 
  //  alert(event.target.id);
     window.open("http://obs43/test.php?param=" +event.target.id);
}); 
});

关于jquery - 如何拥有不同的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930899/

相关文章:

javascript - 当视口(viewport)太小时隐藏侧边栏

javascript - 如何在 JavaScript 中发出 https 请求?

javascript - Select2 仅通过 id 设置选定值

jquery - 使用 parcel.js 导入 select2

jquery - Select2初始化回调

javascript - 力集中于 sibling 的输入

javascript - 将 div 放在 Master Slider 的顶部

javascript - jq 验证获取所有错误

javascript - 由格式化程序附加的 jQuery Select2 值可搜索

javascript - 使用 jquery 更改 select2 样式