有没有办法允许用户仅使用 Twitter 的 Bootstrap 提前输入从预定义列表中选择值?理想情况下,每个文本值都应该替换为某个数值(如何使用 select 实现这一点)。
例如:
var regionsList = ["value1", "value2", "value3"];
var regionsCodesList = [11, 12, 77];
$('#region').typeahead({ source: regionsList });
用户应该只能输入值1、值2或值3,仅此而已。提交表单后,应相应地传递 11、12、77 等值。
更新。我创建了自定义验证方法:
$.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 传递。但它效果不佳 - 如果用户用鼠标从列表中选择值,则不会隐藏错误消息。
请您参考如下方法:
尝试更新方法:
$('#region').typeahead({
// ....
"updater" : function bla(item) {
$('#region').val(item);
$("#myForm").validate().element("#region");
return item; }
}
}
