twitter/bootstrap — pull request #6836 by hefangshi (2013-02-08 09:08:16+00:00)
Title: store typehead item value as a object not string

now the typehead control can only use string to build the list,we can't store more data in the items.

so i change the attr('data-value') to data('value') to get object value from the select, so we can extend the item object like this.

```javascript
var TypeHeadItem=function(item,value){
this.item=item;
this.value=value;
};

TypeHeadItem.prototype={
toString: function() {
return this.value;
},
toLowerCase:function(){
return String.prototype.toLowerCase.apply(this.value);
},
indexOf:function(value){
return String.prototype.indexOf.apply(this.value,arguments);
},
replace:function(){
return String.prototype.replace.apply(this.value,arguments);
}
};

TypeHeadItem.prototype.__defineGetter__('length',function(){return this.value.length;});
```

then we can get more information from the typehead selected item, so we don't need to use a cache to store the object which match to the key.It's useful when u have same keyword for different items.(although typehead is not desgined for this,but we use it)