如何将多个 select 下拉数据值插入 sql table(在一个字段中)
How to insert multi select drop down data value into sql table(in one field)
如何将多个 select 下拉数据值插入 sql table(在一个字段中)
请在下面找到我项目中的附加图像。请帮助我
您可以将用户输入的值转换为字符串/Json 字符串并保存。
示例-
"["Oracle", "Bayan", "SAP"]"
在 select 框中使用带有 onchange 事件的 javascript 函数,您可以在其中将 selected 值修改为逗号分隔的字符串。
将此字符串保存在您的数据库中。
在检索它时,将字符串更改为数组并遍历选项以检查 selected 值。
看起来您正在构建一个 many-to-many
数据结构。您不应将 'many' 功能直接存储在 'projects' table 中。你应该在你的项目 table 中有一个 ProjectId
,在你的功能 table 中有一个 FeatureId
,然后对于许多 'ProjectFeature' table -对多 'FeatureId' 和 'ProjectId'.
如果您使用像 Entity Framework 这样的 ORM,并正确地建模您的数据结构,您将在您的项目中获得模型 类,让您查询 Project.Features
并返回一个可枚举的功能。
你的 JS 函数:
function getMultipleSelectedValue(a){
var comma1=", ";
var man12="";
var man11="";
for (var i1 = 0; i1 < a.options.length; i1++) {
if(a.options[i1].selected){
var man1=a.options[i1].value;
var xz1=man1.trim();
if(xz1!=""){
man11=man11+man1+comma1;");
}}}
man11 = man11.replace(/,\s*$/, \"\");
document.getElementById('hiddenfiled').value=man11; //here i am saving the value in a hidden field
}
您的 select 字段(请注意,我正在使用 servlet,这就是为什么有 out.println
String[] arrayOfString2 = rectohexcolorsnames.split("\s*,\s*");//split your comma separated string into an array
out.println("<select title=\"Rien de Sélectionné\" multiple required data-live-search=\"true\" data-live-search-style=\"startsWith\" class=\"selectpicker\" id=\"rectohex\" name=\"rectohex\" onchange=\"getMultipleSelectedValue(this)\">");
while (resultSet7.next()) {
String str16 = resultSet7.getString(1).trim();
String str18 = "";
boolean bool = false;
for (int b = 0; b < arrayOfString2.length; b++) {
String str17 = arrayOfString2[b].trim();
if (str16.equals(str17)) {
str18 = str16.replace("_", " ").trim();
out.println("<option value=\"" + str16 + "\" selected>" + str18 + "</option>");
bool = true;
}
}
if (!bool) {
str18 = str16.replace("_", " ").trim();
out.println("<option value=\"" + str16 + "\" >" + str18 + "</option>");
}
}
out.println("</select>");
如何将多个 select 下拉数据值插入 sql table(在一个字段中) 请在下面找到我项目中的附加图像。请帮助我
您可以将用户输入的值转换为字符串/Json 字符串并保存。 示例-
"["Oracle", "Bayan", "SAP"]"
在 select 框中使用带有 onchange 事件的 javascript 函数,您可以在其中将 selected 值修改为逗号分隔的字符串。 将此字符串保存在您的数据库中。
在检索它时,将字符串更改为数组并遍历选项以检查 selected 值。
看起来您正在构建一个 many-to-many
数据结构。您不应将 'many' 功能直接存储在 'projects' table 中。你应该在你的项目 table 中有一个 ProjectId
,在你的功能 table 中有一个 FeatureId
,然后对于许多 'ProjectFeature' table -对多 'FeatureId' 和 'ProjectId'.
如果您使用像 Entity Framework 这样的 ORM,并正确地建模您的数据结构,您将在您的项目中获得模型 类,让您查询 Project.Features
并返回一个可枚举的功能。
你的 JS 函数:
function getMultipleSelectedValue(a){
var comma1=", ";
var man12="";
var man11="";
for (var i1 = 0; i1 < a.options.length; i1++) {
if(a.options[i1].selected){
var man1=a.options[i1].value;
var xz1=man1.trim();
if(xz1!=""){
man11=man11+man1+comma1;");
}}}
man11 = man11.replace(/,\s*$/, \"\");
document.getElementById('hiddenfiled').value=man11; //here i am saving the value in a hidden field
}
您的 select 字段(请注意,我正在使用 servlet,这就是为什么有 out.println
String[] arrayOfString2 = rectohexcolorsnames.split("\s*,\s*");//split your comma separated string into an array
out.println("<select title=\"Rien de Sélectionné\" multiple required data-live-search=\"true\" data-live-search-style=\"startsWith\" class=\"selectpicker\" id=\"rectohex\" name=\"rectohex\" onchange=\"getMultipleSelectedValue(this)\">");
while (resultSet7.next()) {
String str16 = resultSet7.getString(1).trim();
String str18 = "";
boolean bool = false;
for (int b = 0; b < arrayOfString2.length; b++) {
String str17 = arrayOfString2[b].trim();
if (str16.equals(str17)) {
str18 = str16.replace("_", " ").trim();
out.println("<option value=\"" + str16 + "\" selected>" + str18 + "</option>");
bool = true;
}
}
if (!bool) {
str18 = str16.replace("_", " ").trim();
out.println("<option value=\"" + str16 + "\" >" + str18 + "</option>");
}
}
out.println("</select>");