【发布时间】:2014-09-19 12:00:35
【问题描述】:
场景是,我需要通过单击一个按钮将一个值(一个选定的值)附加到 select2。如果我点击我的按钮会发生什么,我选择的其他值将消失/清除。
仅选择了 1 个值,这是我的按钮功能中的值。直接输入我的 select2 文本框时,我可以选择多个值,但是如果我单击按钮,它的值不会添加到 select2。
如何在单击按钮上的 select2 中为已选择的数据附加一个值或推送一个附加值?每次单击按钮时,都应向 select2 选定的值添加一个新值。
我希望我下面的代码以及我对我正在寻找的内容的描述对你们有所帮助。谢谢。
我正在使用 Northwind 数据库进行测试。 (Robert King 在 Employee Table 下)
<input type="button" onclick="Passvalue();"/>
<input type="text" id="eq" name="eq" style="width: 200px;" />
<script>
$(function () {
$("#eq").select2({
minimumInputLength: 3,
multiple: true,
ajax: {
url: '/Employee/GetAllEmployees/',
dataType: 'json',
type: "GET",
data: function (searhTerm) {
return { query: searhTerm };
},
results:
function (data) {
return { results: data};
},
},
initSelection: function (element, callback) {
var id=$(element).val(); //element value will be 'Robert';
if (id!=="") {
$.ajax('/Employee/GetAllEmployees/', {
data: {
query: id
},
dataType: "json",
type: "GET",
}).done(function(data) { callback(data); });
}
},
createSearchChoice: function (term) {
return {id: term, text: term + ' (new)', title: term };
},
formatResult: FormatContact,
formatSelection: FormatContactSelection,
escapeMarkup: function(m) {
return m;
}
});
});
function FormatContact(contact) {
return contact.text + " (" + contact.title + ")";
}
function FormatContactSelection(contact) {
return " "+ contact.text;
}
function Passvalue() {
var test2 = "Robert"; //just an example, value 'Robert' to be passed on select2 for query
$('#eq').select2("val", [test2]);
}
</script>
我的动作控制器:
public ActionResult GetAllEmployees(string query)
{
var db = new Employee().GetAllEmployees(query).
ToList();
return Json(db, JsonRequestBehavior.AllowGet);
}
BL:
public IQueryable<Object> GetAllEmployees(string search)
{
var ctx = new NorthwindEntities();
var dbQuery =
(from i in ctx.Employees
where i.FirstName.Contains(search) || i.LastName.Contains(search)
select new
{
id = i.EmployeeID,
text = i.FirstName + " " + i.LastName,
title = i.Title
});
return dbQuery;
}
【问题讨论】:
-
我对select2不太熟悉。但是你可以参考这个ivaynberg.github.io/select2/select2-latest.html
标签: javascript jquery button jquery-select2