Javascript 将值推送到多选
我需要将从数据库获取的值推送到multi-select。下面的代码将根据select中的onchange将数据推送到文本区域。我需要将文本区域更改为multi-select。如何实现?调用下面的方法,如 HTML }Javascript 将值推送到多选,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,我需要将从数据库获取的值推送到multi-select。下面的代码将根据select中的onchange将数据推送到文本区域。我需要将文本区域更改为multi-select。如何实现?调用下面的方法,如 HTML }函数getParamListForCustomGroupUpdate(){ var selected_execution_group=document.getElementById(“selectexecutiongroup update”).value; $.ajax({ 方法:“
函数getParamListForCustomGroupUpdate(){
var selected_execution_group=document.getElementById(“selectexecutiongroup update”).value;
$.ajax({
方法:“获取”,
数据类型:“文本”,
url:“getObjectList”,
数据:{
执行组名称:所选的执行组
},
成功:功能(结果){
//生成数组
结果=结果。替换(/\\\/g,“”);
referenceNode=document.getElementById(“对象\自定义\名称”);
//document.getElementById(“对象\自定义\名称”).value=result;
var myDiv=document.getElementById(“myDiv”);
//创建并附加选择列表
var selectList=document.createElement(“选择”);
selectList.id=“mySelect”;
myDiv.appendChild(选择列表);
//创建并附加选项
对于(变量i=0;i
您只需将文本区域替换为multi-select并将值附加到multi-select中即可
<select id="select-execution-group-update" class="form-control" onchange="getParamListForCustomGroupUpdate()">
<select id='multi-select' ...>
//JS file
function getParamListForCustomGroupUpdate() {
var selected_execution_group = document.getElementById("select-execution-group-update").value;
$.ajax({
method: "GET",
dataType: "text",
url: "getObjectList",
data: {
execution_group_name: selected_execution_group
},
success: function (result) {
result = result.replace(/\\/g, "").split(',');
var arrayLength = result.length;
for (var i = 0; i < arrayLength; i++) {
var option = document.createElement("option");
option.text = result[i];
option.value = result[i];
var select = document.getElementById("multi-select");
select.appendChild(option);
}
}
}
);
//JS文件
函数getParamListForCustomGroupUpdate(){
var selected_execution_group=document.getElementById(“selectexecutiongroup update”).value;
$.ajax({
方法:“获取”,
数据类型:“文本”,
url:“getObjectList”,
数据:{
执行组名称:所选的执行组
},
成功:功能(结果){
结果=结果。替换(/\\/g,“”)。拆分(“,”);
var arrayLength=结果长度;
对于(变量i=0;i
ajax结果是什么?它是数组吗?你能显示结果吗?是的,设备1,设备2,设备-3@Raja1983您能给我发送示例响应以便我能给您一个准确的答案吗?是的。结果是,Device.10001.Enable\,Device.WiFi.AccessPoint.101\,Device.WiFi.AccessPoint.101.Security\它是作为单个选项提供的,device1,Device2,设备3。@Raja1983您现在可以尝试。@Raja1983,如果现在可以,请接受答案。谢谢。获取错误未捕获类型错误:无法读取nullI的属性“appendChild”。发现问题。问题即将出现。但未定义作为单个字母设置数组出现
function getParamListForCustomGroupUpdate() {
var selected_execution_group = document.getElementById("select-execution-group-update").value;
$.ajax({
method: "GET",
dataType: "text",
url: "getObjectList",
data: {
execution_group_name: selected_execution_group
},
success: function (result) {
result = result.replace(/\\/g, "");
document.getElementById("object_custom_name").value = result;
}
}
);
function getParamListForCustomGroupUpdate() {
var selected_execution_group = document.getElementById("select-execution-group-update").value;
$.ajax({
method: "GET",
dataType: "text",
url: "getObjectList",
data: {
execution_group_name: selected_execution_group
},
success: function (result) {
// result in array
result = result.replace(/\\/g, "");
referenceNode = document.getElementById("object_custom_name");
//document.getElementById("object_custom_name").value = result;
var myDiv = document.getElementById("myDiv");
//Create and append select list
var selectList = document.createElement("select");
selectList.id = "mySelect";
myDiv.appendChild(selectList);
//Create and append the options
for (var i = 0; i < result.length; i++) {
var option = document.createElement("option");
option.value = result[i];
option.text = result[i];
selectList.appendChild(option);
}
referenceNode.parentNode.insertBefore(myDiv, referenceNode.nextSibling);
}
}
<select id="select-execution-group-update" class="form-control" onchange="getParamListForCustomGroupUpdate()">
<select id='multi-select' ...>
//JS file
function getParamListForCustomGroupUpdate() {
var selected_execution_group = document.getElementById("select-execution-group-update").value;
$.ajax({
method: "GET",
dataType: "text",
url: "getObjectList",
data: {
execution_group_name: selected_execution_group
},
success: function (result) {
result = result.replace(/\\/g, "").split(',');
var arrayLength = result.length;
for (var i = 0; i < arrayLength; i++) {
var option = document.createElement("option");
option.text = result[i];
option.value = result[i];
var select = document.getElementById("multi-select");
select.appendChild(option);
}
}
}
);