UI使用jquery自动完成多个组合框

时间:2017-01-23 10:04:55

标签: javascript jquery combobox autocomplete el

我在这里遇到问题,我是jquery自动完成组合框的新手。

这里我们动态添加组合框。我的自动完成功能在所有组合框中都运行良好,但当我再次返回该页面时,我无法保留页面上的值。

以下是示例代码。

 _createAutocomplete: function() {

              var selected = this.element.children(":selected");
              var value = selected.val() ? selected.text() : "";
              var x = this.element[0].id;     //we get id's of combo boxes like Comobox-0,Comobox-1,Comobox-2...etc
              var status = x.substr(x.length - 1);  // The values will be like 0,1,2 .. in strings etc
              var istatus = parseInt(status);  // parsing to int


              this.input = $( "<input>" )
                .appendTo( this.wrapper )
                .attr( "title", '<fmt:message key="page.claim.personalclaimnotification.injury.select_info" />' )
                <%--.val("${claimNotificationForm.chattels[ss].objectValue}")  --%>
                .val(value)   // This is responsible for retaining the values on the page
                .attr("maxlength", 256)
                .addClass( "custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left" )
                .autocomplete({
                  delay: 0,
                  minLength: 3,
                  source: $.proxy( this, "_source" )
                })

在上面的代码中,您可以看到 .val(value),它负责保留页面上的值。

如果用户选择列表中已有的值,则以下代码将保留页面上的值。

var selected = this.element.children(":selected");
var value = selected.val() ? selected.text() : "";

这里我的要求是,如果用户给定的值不在列表中,那么该值将被视为值。 所以我试图保留表单bean的值。所以我尝试了类似下面的内容。

var x = this.element[0].id;     //we get id's of combo boxes like Comobox-0,Comobox-1,Comobox-2...etc
      var status = x.substr(x.length - 1);  // The values will be like 0,1,2 .. in strings etc
      var istatus = parseInt(status);  // parsing to int

然后我使用下面的一个来动态地从集合中选择值,但这不起作用..

  .val("${claimNotificationForm.chattels[istatus].objectValue}")  

上面的代码正在使用索引0,1,2 ..但不能使用变量istatus。

.val("${claimNotificationForm.chattels[0].objectValue}")  
  .val("${claimNotificationForm.chattels[1].objectValue}")  
  .val("${claimNotificationForm.chattels[2].objectValue}")

如何使其工作,以便在jsp中使用el表达式动态地从表单bean中选取。

0 个答案:

没有答案