1

我在 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>标签有什么问题?

4

1 回答 1

0

当您使用sj:autocompleter,并且您说它工作正常时,您已经使用了href属性。sj:select href属性也可用于填充selectsj:select. 每个标签的属性集略有不同,一个href属性也不同于 HTMLselect标签。

href属性可供两个标签使用和使用,您应该提供填充sj:select标签的操作返回的 JSON 结果。但是,如果您使用autocomplete=true属性,则sj:select表现得像sj:autocompleter并生成input标签而不是select标签。您应该定义输出所需的 HTML 标记。

使用属性可能会改变呈现的 HTML。如果您listsj:select标签中使用属性并且不使用属性,则在执行结果时将呈现autocomplete简单select的 with 。options就像s:select使用序数一样。list因此,您应该为属性值提供 getter,例如

public List<Country> getCountryList() {
  return countryList;
} 

Countrybean 应该包含id和属性,因此nameOGNL 也可以访问它。

于 2013-11-08T09:38:18.423 回答