javascript - Angular : How to update select option value when ng-click?

标签 javascript angularjs angularjs-ng-repeat angularjs-ng-click angularjs-ng-model

我有一个有效的选择选项,其中包含一些过滤搜索数据的值。

现在我需要一些链接作为边栏,这有助于直接单击并更改上面的选择选项

请引用此链接Website Link我做了。


登录示例:

User : recobee@gmail.com

Pass : kishore

http://proconstruct.co.in/jsearch


Javascript:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  var json = {
    "modules":
        <?php echo $qres; ?>
  };

  $scope.ocw = json;

  var allCategories = json.modules.map(function(item) {
    return item.designation
  });
  var filteredCategories = [];

  var allCities = json.modules.map(function(item) {
    return item.city
  });
  var filteredCities = [];


  allCategories.forEach(function(item) {
    if (filteredCategories.indexOf(item) < 0 && item) {
      filteredCategories.push(item);
    }
  });

  allCities.forEach(function(item) {
    if (filteredCities.indexOf(item) < 0 && item) {
      filteredCities.push(item);
    }
  });

  $scope.search = {
    designation: ""
  }
  $scope.search = {
    city: ""
  }

  $scope.categories = filteredCategories;

  $scope.updateFilter = function(value) {
    $scope.search.designation = value;
  }


  $scope.cities = filteredCities;
  $scope.updateFilter = function(value) {
    $scope.search.city = value;
  }

});

这些是链接 html :

<div  ng-repeat="designation in categories ">
    <a ng-click="updateFilter(search.designation)"> {{designation}}</a>
</div>

这是正在工作的选择,必须通过链接使用react:

<select ng-model="search.designation">
    <option value="">All Categories</option>
    <option ng-repeat="category in categories" value="{{category}}">{{category}}</option>
</select>

最佳答案

通过快速查看您的代码,我将尝试更改以下内容:

<div  ng-repeat="designation in categories ">
     <a ng-click="updateFilter(designation)"> {{designation}}</a>
</div>

我唯一更改的是 updateFilter 函数的参数。

[更新]

您还有两个同名函数:updateFilter

也试试这个:

$scope.search = {
    designation: "",
    city: ""
}

$scope.updateFilterDesignation = function(value) {
    $scope.search.designation = value;
}
$scope.updateFilterCity = function(value) {
    $scope.search.city = value;
}

所以链接应该这样做:ng-click="updateFilterDesignation(designation)"

这应该很有希望。

关于javascript - Angular : How to update select option value when ng-click?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29226742/

相关文章:

javascript - 使用 JavaScript 访问跨域 iframe 元素

javascript - ES5 中解构赋值的支持问题

angularjs - jwt token 刷新如何在 django REST Angular 中工作

AngularJS ng-repeat 在 HighCharts 渲染时卡住浏览器

javascript - Angular 数据表 ng-repeat 不起作用

javascript - AngularJS 无限滚动 (ng-repeat) - 从 DOM 中移除顶部元素

javascript - 相对位置没有响应

javascript - AngularJS ng-repeat 在单独的 View 中显示内容

javascript - 如何更改 ng-repeat 中点击时的图像?

javascript - Python爬虫使用Selenium和PhantomJS获取DOM信息