基于提供的值生成选择标记的Javascript帮助程序方法
我试图在我的JS工具包中创建一个助手方法,如下所示基于提供的值生成选择标记的Javascript帮助程序方法,javascript,html,Javascript,Html,我试图在我的JS工具包中创建一个助手方法,如下所示 var selectOptionValues = [" ","NA","Yes","No"]; var selectedValue = "No"; function CreateSelectList(selectId,selectOptionValues,selectedValue){ // build the selectlist // if the selectedValue is not null make this value se
var selectOptionValues = [" ","NA","Yes","No"];
var selectedValue = "No";
function CreateSelectList(selectId,selectOptionValues,selectedValue){
// build the selectlist
// if the selectedValue is not null make this value selected
// return select tag
}
我尝试执行类似于
selectedOption=selectTag[selectedValue]
的操作,然后执行selectedOption.selected=true
,但它不起作用。假设您通过创建DOM节点生成选项,而不起作用的部分是No选项的选中状态。请尝试selectOption.setAttribute(“已选定”、“已选定”)-大致
var selectOptionValues = [" ","NA","Yes","No"], selectedValue = "No";
function CreateSelectList(selectId,selectOptionValues,selectedValue){
var selectList = document.createElement("select"), selectOption;
for (var i=0, totalOptions = selectOptionValues.length; i < totalOptions ; i++) {
selectOption = document.createElement("option");
selectOption.value = selectOptionValues[i];
selectOption.innerText = selectOptionValues[i];
if (selectOptionValues[i] == selectedValue) {
selectOption.setAttribute("selected","selected");
}
selectList.appendChild(selectOption);
};
return selectList;
}
var-selectOptionValues=[“”、“NA”、“是”、“否”]、selectedValue=“否”;
函数CreateSelectList(selectId、selectOptionValues、selectedValue){
var selectList=document.createElement(“选择”),selectOption;
对于(var i=0,totalOptions=selectOptionValues.length;i
假设您通过创建DOM节点生成选项,而不工作的部分是No选项的选定状态。请尝试selectOption.setAttribute(“已选定”、“已选定”)-大致
var selectOptionValues = [" ","NA","Yes","No"], selectedValue = "No";
function CreateSelectList(selectId,selectOptionValues,selectedValue){
var selectList = document.createElement("select"), selectOption;
for (var i=0, totalOptions = selectOptionValues.length; i < totalOptions ; i++) {
selectOption = document.createElement("option");
selectOption.value = selectOptionValues[i];
selectOption.innerText = selectOptionValues[i];
if (selectOptionValues[i] == selectedValue) {
selectOption.setAttribute("selected","selected");
}
selectList.appendChild(selectOption);
};
return selectList;
}
var-selectOptionValues=[“”、“NA”、“是”、“否”]、selectedValue=“否”;
函数CreateSelectList(selectId、selectOptionValues、selectedValue){
var selectList=document.createElement(“选择”),selectOption;
对于(var i=0,totalOptions=selectOptionValues.length;i
除了Dean Burge建议的方法外,您还可以通过选择对象的selectedIndex
属性设置默认值。如果将selectedValue设置为所需值的索引,则变得非常简单:
//selectedValue==3;
yourPopulatedSelect.selectedIndex=selectedValue;
//"No" will be selected
除了Dean Burge建议的方法外,您还可以通过选择对象的
selectedIndex
属性设置默认值。如果将selectedValue设置为所需值的索引,则变得非常简单:
//selectedValue==3;
yourPopulatedSelect.selectedIndex=selectedValue;
//"No" will be selected
你不需要用DOM而不是赋值来构建它吗?@Gunner:当我创建一个像div这样的DOM元素时,我会使用这样的方法并将其作为子元素附加到它。你不需要用DOM而不是赋值来构建它吗?@Gunner:当我创建一个像div这样的DOM元素时,我会使用这样的方法并将其作为子元素附加到它。“selectOption.setAttribute”,这是来自JQuery的吗?否-JQuery等价物可能是来自内存的attr()方法。除了原始问题的要点之外,我的示例中的一个子问题selectOption.innerText是否应该是selectOption.nodeValue?”selectOption.setAttribute“,这是来自JQuery吗?否-JQuery等价物可能是内存中的attr()方法。除了原始问题的要点外,我的示例中的selectOption.innerText是否应该是selectOption.nodeValue?