我正在使用带有 Struts 2 的 Ajax jQuery 插件 jar。我已经使用 Ajax 选择标签填充列表,但列表未填充。如果我使用
<sj:autocompleter>
标签,它就可以正常工作。
这是我的代码:
<sj:select name="countryId" list="countryList" listKey="id" listValue="name"
headerKey="" headerValue="--Select Country--"
onchange="document.forms[0].action='city_countryChange'; document.forms[0].submit(); return true;"
required="required"></sj:select>
<sj:select>
标签有什么问题吗?
当你使用
sj:autocompleter
,并且你说它工作正常时,你已经使用了href
属性。 sj:select
href
属性还可用于填充由 select
呈现的 HTML sj:select
标签。每个标签的属性集略有不同,并且 href
属性也与 HTML select
标签中的不同。
href
属性可用并由两个标签使用,您应该提供填充 sj:select
标签的操作返回的 JSON 结果。但如果您使用 autocomplete=true
属性,则 sj:select
的行为类似于 sj:autocompleter
并生成 input
标签而不是 select
标签。您应该定义输出所需的 HTML 标记。
使用属性可能会很大程度上改变渲染的 HTML。如果您将
list
属性与 sj:select
标签一起使用,并且不使用 autocomplete
属性,则在执行结果时将呈现简单的 select
与 options
。这与使用序数 s:select
相同。因此,您应该为 list
属性值提供 getter,例如
public List<Country> getCountryList() {
return countryList;
}
Country
bean 应包含 id
和 name
属性,因此 OGNL 也可以访问它。