繁体   English   中英

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

[英]change the header value attribute of a struts2 <s:select>

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

这是我的代码:

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

只需通过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";

即使是我尝试做的事情,我也知道我们无法使用javascript设置标头值<s:select> 在页面加载时,即在页面的DOM结构创建上, <s:select>展开,并且headerkey和header值形成select标记的选项名部分。您可以在页面源代码中查看它。 但是,有一种方法可以将选择列表设置为某些默认值。 要为下拉框自动选择默认值,只需在标记中声明一个“ value”属性,然后相应地设置默认值即可。

JAVA文件

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM