标签允许用户输入

问题描述 投票:2回答:1

我正在以编程方式创建一个文本框,但我面临的问题是,当我将它作为要在列表顶部进行操作的对象插入数组时,允许的类型是标签。因此,当显示文本框时,程序不允许用户输入文本框。有没有办法来解决这个问题?我已经尝试将类型更改为文本,我得到了未定义。

searchArray = [];
//creating the text box and placing it in a variable
var textBox = "<input type='text' placeholder='Search Client Code'>";

searchArray.push({label: textBox });

//diaplaying the text box in a context menu sub menu
return{
    "Search" : {
        label : "Search",
        action: true,                            
        "submenu": searchArray,
        disabled: false
    }
}

*****************************************************
UPDATE

var searchArray = [];

var textBox = "<input type='text' placeholder='Search Client Code'>";
textBox.push({label: something});

//this array is used to insert the textbox and also the clients afterwards
new_array = [];
new_array.push(searchArray[0]);

//the below push is used in a for loop that loops each client,
//so I am just putting it here just for reference
***
new_array.push(itemDisp[i]);
***

if(...){
    var obj = {
        "DuplicateFor" : {
            label : "Duplicate for",
            action: true,                            
            "submenu": new_array,
            disabled: false
        }
    }
    document.body.innerHTML = obj['DuplicateFor']['submenu'][0].label
}
javascript contextmenu submenu
1个回答
2
投票

试试这个。它将成功创建输入并且也需要输入

var searchArray = [];
//creating the text box and placing it in a variable
var textBox = "<input type='text' placeholder='Search Client Code'>";

searchArray.push({
  label: textBox
});

//diaplaying the text box in a context menu sub menu
var obj = {
  "Search": {
    label: "Search",
    action: true,
    "submenu": searchArray,
    disabled: false
  }
}
console.log(obj)

document.body.innerHTML = obj['Search']['submenu'][0].label
© www.soinside.com 2019 - 2024. All rights reserved.