我正在使用Struts2框架。我想使用javascript更改<s:select>
的标头值。
这是我的代码:
<s:select label="Select Table" name="tableCheck" id="tableCheck" list="%{queryTableDisplay}" cssStyle="WIDTH:152px" headerKey="-1" headerValue="-- Select --"/>
答案 0 :(得分:1)
只需按ID获取select
元素,然后在javascript中更改值。
// changes option value attribute
document.getElementById("tableCheck").options[0].value = "new_header_key";
// changes option inner HTML
document.getElementById("tableCheck").options[0].innerHTML = "new_header_value";
答案 1 :(得分:0)
即使我尝试过这样做,我也知道我们无法使用javascript设置<s:select>
的标头值。在页面加载时,即在页面的DOM结构创建上,<s:select>
扩展并且headerkey和header value形成select标签的选项名称部分。您可以在页面源中查看它。
但是,有一种方法可以将选择列表设置为某个默认值。
要自动选择下拉框的默认值,只需在标记中声明“value”属性,并相应地设置默认值。
JAVA FILE
public class SelectAction extends ActionSupport{
private List<String> searchEngine;
private String yourSearchEngine;
//set default value
public String getDefaultSearchEngine() {
return "yahoo.com";
}
public SelectAction(){
searchEngine = new ArrayList<String>();
searchEngine.add("google.com");
searchEngine.add("bing.com");
searchEngine.add("yahoo.com");
searchEngine.add("baidu.com");
}
//...
}
JSP
<s:select label="What's your favor search engine"
headerKey="-1" headerValue="Select Search Engines"
list="searchEngine"
name="yourSearchEngine"
value="defaultSearchEngine" />