【问题标题】:Struts 2 jquery autocompleter with forceValidOption="false"Struts 2 jquery autocompleter with forceValidOption="false"
【发布时间】:2015-01-06 21:47:54
【问题描述】:

我已将 Struts 2 jquery 自动完成标签 forceValidOption 设置为 false 为:

<sj:autocompleter list="destinationAccounts" id="sample" 
            listKey="accountNo" name="toAccount"
            listValue="%{accountNo + \" \" + firstName + \" \" + lastName }"
            forceValidOption="false"/>

forceValidOption 不起作用,它会强制用户从选项中进行选择,并在用户离开输入时自动清理用户输入的数据。 生成的javascript如下:

var options_sample_widget = {};
options_sample_widget.hiddenid = "sample";
options_sample_widget.selectBox = true;
options_sample_widget.forceValidOption = false;

options_sample_widget.jqueryaction = "autocompleter";
options_sample_widget.id = "sample_widget";
options_sample_widget.name = "toAccount.accountNo_widget";
options_sample_widget.href = "#";
options_sample_widget.formids = "ownToOtherForm";


jQuery.struts2_jquery_ui.bind(jQuery('#sample_widget'),options_sample_widget);

说明forceValidOption已设置。

我应该设置其他选项以使其正常工作吗?!

我已经在陈列柜中对其进行了测试,但仍然无法使其工作。

如果这里有bug,我可以直接使用jQuery自动完成功能并禁用这个功能吗?!

【问题讨论】:

标签: jquery struts2 autocomplete struts2-jquery struts2-jquery-plugin


【解决方案1】:

不带href 属性的自动完成器用于加载静态列表。

如果它与selectBox="true" 一起使用,它会呈现select 标签来保存它的选项和两个输入字段:一个是提交值的隐藏字段,另一个是组合框。该字段的值应设置为隐藏字段。 要使其工作,您应该设置以下功能

$(".s2j-combobox-input.ui-autocomplete-input").keyup(function(e){
  $("#sample").val($(".s2j-combobox-input.ui-autocomplete-input").val())
});

【讨论】:

  • 谢谢@Roman!所以这个功能似乎不起作用,我们应该在错误修复之前使用这个解决方法。
  • 您的代码只会设置与该输入相关的隐藏值。如果您希望输入显示用户值$(".s2j-combobox-input.ui-autocomplete-input").blur(function(e){ $(".s2j-combobox-input.ui-autocomplete-input".val( $("#sample").val() ) });
猜你喜欢
  • 1970-01-01
  • 2015-08-16
  • 1970-01-01
  • 1970-01-01
  • 2013-09-08
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多