有没有办法允许用户只使用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
传递。但它不能正常工作 - 如果用户使用鼠标从列表中选择值,则不会隐藏错误消息。
答案 0 :(得分:0)
尝试更新方法:
$('#region').typeahead({
// ....
"updater" : function bla(item) {
$('#region').val(item);
$("#myForm").validate().element("#region");
return item; }
}
}