将标题设置为jquery组合框的多个实例

时间:2013-12-06 10:51:15

标签: jquery html combobox

我在一个页面中使用jQuery组合框三次。默认情况下,组合框项目的标题为Show All Items,但我的组合框需要3个不同的标题。我怎么能这样做?

我看到一个选项可以在代码中更改标题,如下所示:

attr("title", "Show All Items")

我如何给出头衔?请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

以下是如何做到的。

首先,在options对象中添加标题的默认值,并将实际值传递给_create中的_createShowAllButton函数。代码应如下所示。

$.widget( "custom.combobox", {
   options:{
      title: "Show All Items"
   },
   _create: function() {                                
      this.wrapper =$( "<span>" )                                        
      .addClass( "custom-combobox" )                                        
      .insertAfter( this.element );  

      this.element.hide();                                
      this._createAutocomplete();                                
      this._createShowAllButton(this.options.title);                        
   },
   ...

更新_createShowAllButton,使其使用传入的参数而不是硬编码值,如下所示。

_createShowAllButton: function(dynamicTitle) {                                
   var input = this.input,                                        
   wasOpen = false;  

   $( "<a>" )                                        
   .attr( "tabIndex", -1 )                                        
   .attr( "title", dynamicTitle)
   ...

最后,传递您要设置的标题。

$( "#comboboxCountry" ).combobox({title: "Select Country"});
$( "#comboboxState" ).combobox({title: "Select State"});
$( "#comboboxCity" ).combobox({title: "Select City"});
$( "#comboboxTown" ).combobox({title: "Select Town"});
...