0

我正在使用带有 HTML 表单的 Twitter bootstrap-typeahead 插件:

http://twitter.github.com/bootstrap/javascript.html#typeahead

这运作良好。我希望根据用户在前一个单元格中的选择自动选择该行中的下一个单元格,这是一个选择菜单。这是一个例子:

http://jsfiddle.net/WNpy5/

如果用户为州输入“新南威尔士州”,我希望将国家/地区设置为“澳大利亚”,但可以使用选择菜单进行更改。同样,如果用户选择“加利福尼亚”,我希望将国家/地区设置为“美国”。

我可以轻松地扩展用于 typehead State 字段的值数组以包含相应的国家/地区值(虽然不确定格式),但不确定这是否可能以及如何将它们联系在一起?

4

2 回答 2

1

您需要一个 javascript 对象数组,用于具有各自状态的国家/地区:

var countries = [{ name: 'USA',
                   states: ['Alabama', 'Alaska']},
                 { name: 'Australia',
                   states: ['New South Wales', 'Queensland']}]; // You can add rest of the states here

演示:http: //jsfiddle.net/WNpy5/1/

在演示中,当输入状态并且焦点从文本框移开时,它会自动选择国家。

于 2012-06-12T18:36:41.580 回答
1

默认情况下,typeahead 插件只接受一个字符串列表。我创建了一个扩展,它接受一组 JSON 对象,我相信这是您正在寻找的功能。

来源在这里:https ://github.com/tcrosen/twitter-bootstrap-typeahead

您的案例的一个示例是:

var states = [{ state: 'NY', country: 'USA'}, 
              { state: 'Ontario', country: 'Canada'}, 
              { state: 'Petoria', country: 'Petoria'}];

$('#myTextBox').typeahead({
    source: states,
    display: 'state',
    val: 'country',
    itemSelected: function(item, val, text) {
        // val = name of the country
        // text = name of the provice
        $('#Country').val(val);
    }
});
于 2012-06-12T18:44:18.557 回答