下面是我的代码,用于使用tokeninput将文本中的选项添加为标记。选择“保存时标记”按钮后,我将选择作为数组并将其保存在数据库的“美国、爱尔兰”列中。保存后,希望使用jquery方法预填充“将数据另存为标记”。下面是此过程的参考代码。
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"/>
<link rel="stylesheet" href="styles/token-input.css" type="text/css" />
<script type="text/javascript" src="src/jquery.tokeninput.js"></script>
<script>
var country_list=[
{id: 1, name: "UK"},
{id: 2, name: "CANADA"},
{id: 3, name: "IRELAND"},
{id: 4, name: "SINGAPORE"},
{id: 5, name: "AUSTRALIA"},
{id: 6, name: "NEWZEALAND"},
{id: 7, name: "SWITZERLAND"},
{id: 8, name: "CYPRUS"},
{id: 9, name: "FRANCE"},
{id: 10, name: "MALAYSIA"},
{id: 11, name: "ITALY"},
{id: 12, name: "SWEDEN"},
{id: 13, name: "GERMANY"},
{id: 14, name: "USA"},
{id: 15, name: "DUBAI"},
{id: 16, name: "SPAIN"},
{id: 17, name: "LITHUANIA"},
{id: 18, name: "NETHERLANDS"},
{id: 19, name: "LATVIA"},
{id: 20, name: "SOUTH AFRICA"},
{id: 21, name: "OTHERS"}
];
var selected_countries=<?php echo json_encode(explode(",",$country));?>;
//alert(selected_countries);
var populate_list=[];
var index;
for (index = 0; index < country_list.length; ++index) {
console.log(country_list[index]);
if(selected_countries.indexOf(country_list[index].name)>-1){
populate_list.push(country_list[index]);
}
}
var prepopulate = {
prePopulate : populate_list
};
$("#country").tokenInput(country_list,prepopulate);
</script>
HTML代码
<input type="text" name="country" id="country">
并将所有选定的文本保存到我使用的数据库中
AJAX代码
var arr1 = $('#country').tokenInput("get");
var names1 = [];
$.each(arr1, function(i, obj)
{
names1.push(obj.name);
});
var country=names1.join();
以及结果数据库端和UI端
最佳答案
从http://loopj.com/jquery-tokeninput/
预填充
用现有数据预填充ToKin输入。设置为
JSON对象数组,例如:[{id:3,name:“test”},{id:5,name:
“awesome”}]来预先填充输入。
var country_list=[
{id: 1, name: "UK"},
{id: 2, name: "CANADA"},
{id: 3, name: "IRELAND"},
{id: 4, name: "SINGAPORE"},
{id: 5, name: "AUSTRALIA"},
{id: 6, name: "NEWZEALAND"},
{id: 7, name: "SWITZERLAND"},
{id: 8, name: "CYPRUS"},
{id: 9, name: "FRANCE"},
{id: 10, name: "MALAYSIA"},
{id: 11, name: "ITALY"},
{id: 12, name: "SWEDEN"},
{id: 13, name: "GERMANY"},
{id: 14, name: "USA"},
{id: 15, name: "DUBAI"},
{id: 16, name: "SPAIN"},
{id: 17, name: "LITHUANIA"},
{id: 18, name: "NETHERLANDS"},
{id: 19, name: "LATVIA"},
{id: 20, name: "SOUTH AFRICA"},
{id: 21, name: "OTHERS"}
];
var selected_countries=<?php echo json_encode(explode($country));?>;
var populate_list=[];
var index;
for (index = 0; index < country_list.length; ++index) {
if(selected_countries.indexOf(country_list[index].name)>-1){
populate_list.push(country_list[index]);
}
}
var prepopulate = {
prepopulate : populate_list
};
$("#country").tokenInput(country_list,prepopulate);