Javascript 使用下拉菜单为带有敲除的变量赋值

Javascript 使用下拉菜单为带有敲除的变量赋值,javascript,html,knockout.js,Javascript,Html,Knockout.js,我的目标是使用if语句从代码中的另一个变量中给出一个值 HTML 这就是我想要完成的,如果从下拉菜单中选择了一个值,我想给另一个变量一个变量的值 function locations() { if (dropDownValue == "All Locations") { var locations = allLocations; } else if (dropDownValue == "Home") { var locations = home

我的目标是使用if语句从代码中的另一个变量中给出一个值

HTML

这就是我想要完成的,如果从下拉菜单中选择了一个值,我想给另一个变量一个变量的值

function locations() {
    if (dropDownValue == "All Locations") {
        var locations = allLocations;
    } else if (dropDownValue == "Home") {
        var locations = home;
    } else if (dropDownValue == "Mexico") {
        var locations = mxLocations;
    } else if (dropDownValue == "USA") {
        var locations = usLocations;
我一直在到处寻找来完成这项任务,但没有结果。我希望你能把我带到正确的方向,你可以带到
选择的国家。每次
selectedCountry
更改时,将调用作为参数传递给
subscribe
的回调函数

下面是一个工作片段:

var mxLocations=[
{标题:“蒙特雷”,地点:{lat:25.6475262,液化天然气:-100.4524278},
{标题:'Tulum,Quintana Roo',地点:{纬度:20.2114185,液化天然气:-87.4653502},
{标题:'Tijuana',地点:{lat:32.5335808,lng:-117.1236801},
{标题:“瓜达拉哈拉”,地点:{lat:20.676856,液化天然气:-103.344773}
];
变量usLocations=[
{标题:“拉雷多”,地点:{lat:30.3079827,液化天然气:-97.8934848},
{标题:'威尼斯海滩',地点:{纬度:33.9799948,液化天然气:-118.478614},
{标题:'迈阿密',地点:{纬度:25.7825453,液化天然气:-80.2994983},
{标题:'Wichita',地点:{lat:37.6647979,lng:-97.5837763}}
];
var home=[
{标题:'Laredo',地点:{lat:30.3079827,lng:-97.8934848}}
];
var allLocations=(mxLocations.concat(usLocations)).concat(home);
var locations=“”
变量国家=功能(名称){
this.countryName=ko.observable(name);
};
var viewModel={
可用国家/地区:韩国([
新国家/地区(“所有地点”),
新国家(“家园”),
新墨西哥州(“墨西哥”),
新国家(“美国”)
]),
选定国家/地区:ko.observable()
};
viewModel.selectedCountry.subscribe(功能(selectedValue){
如果(selectedValue.countryName()=“所有位置”){
地点=所有地点;
}else if(selectedValue.countryName()=“Home”){
地点=家;
}else if(selectedValue.countryName()=“墨西哥”){
地点=地点;
}else if(selectedValue.countryName()=“美国”){
地点=美国地点;
}
控制台日志(位置);
});
应用绑定(视图模型)

国家:

谢谢你的帮助Adiga
var mxLocations = [
 {title: 'Monterrey', location: {lat: 25.6475262, lng: -100.4524278 }},
 {title: 'Tulum, Quintana Roo', location: {lat: 20.2114185, lng: -87.4653502 }},
 {title: 'Tijuana', location: {lat: 32.5335808, lng: -117.1236801 }},
 {title: 'Guadalajara', location: {lat: 20.676856, lng: -103.344773 }}
];
var usLocations = [
  {title: 'Laredo', location: {lat: 30.3079827, lng: -97.8934848 }},
  {title: 'Venice Beach', location: {lat: 33.9799948, lng: -118.478614 }},
  {title: 'Miami', location: {lat: 25.7825453, lng: -80.2994983 }},
  {title: 'Wichita', location: {lat: 37.6647979, lng: -97.5837763 }}
];

var home = [
  {title: 'Laredo', location: {lat: 30.3079827, lng: -97.8934848 }}
];

var allLocations = (mxLocations.concat(usLocations)).concat(home);
var locations = ""

function getData(dropdown) {
    var value = dropdown.options[dropdown.selectedIndex].value;
    alert(this.value);
}

// Knockout Constructor
var Country = function(name) {
        this.countryName = ko.observable(name);
    };

    var viewModel = {
        availableCountries : ko.observableArray([
            new Country("All Locations"),
            new Country("Home"),
            new Country("Mexico"),
            new Country("USA")
        ]),
        selectedCountry : ko.observable() // Nothing selected by default
    };

ko.applyBindings(viewModel);
function locations() {
    if (dropDownValue == "All Locations") {
        var locations = allLocations;
    } else if (dropDownValue == "Home") {
        var locations = home;
    } else if (dropDownValue == "Mexico") {
        var locations = mxLocations;
    } else if (dropDownValue == "USA") {
        var locations = usLocations;