Twitter的bootstrap typeahead - 如何仅允许列表中的值?

时间:2012-06-20 17:31:41

标签: jquery jquery-validate twitter-bootstrap

有没有办法允许用户只使用Twitter的bootstrap typeahead从预定义列表中选择值?理想情况下,每个文本值都应替换为一些数值(如何使用select)。

例如:

var regionsList = ["value1", "value2", "value3"];
var regionsCodesList = [11, 12, 77];
$('#region').typeahead({ source: regionsList });

用户应该只能输入 value1 value2 value3 ,仅此而已。提交表单后,如 11 12 77 应相应地传递。

UPD。我已经创建了自定义验证方法:

$.validator.addMethod("validRegion", function (value, element, param) {
  return !(param.indexOf(value) == -1);
}, "Please start to input the region and then choose the value from the list");

regionsList作为param传递。但它不能正常工作 - 如果用户使用鼠标从列表中选择值,则不会隐藏错误消息。

1 个答案:

答案 0 :(得分:0)

尝试更新方法:

$('#region').typeahead({ 
   // ....  
   "updater" : function bla(item) {
       $('#region').val(item);
       $("#myForm").validate().element("#region");
       return item;         }
   } 
}