更改struts2的标题值属性<s:select> </s:select>

时间:2012-12-11 11:33:04

标签: javascript struts2

我正在使用Struts2框架。我想使用javascript更改<s:select>的标头值。

这是我的代码:

<s:select label="Select Table" name="tableCheck" id="tableCheck" list="%{queryTableDisplay}" cssStyle="WIDTH:152px" headerKey="-1" headerValue="-- Select --"/>

2 个答案:

答案 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" />