2017-10-18 78 views
0

我正在使用AngularJS和過濾器選項。當我在單選按鈕中選擇一個項目時,它獲取正確的數據。AngularJS中的單選按鈕不起作用

<input ng-click="filter = !filter" ng-value="!filter" ng-checked="filter" type="radio" ng-model="ctrl.filter[category]" /> 

但我需要允許一個選擇單選按鈕,它不工作。有什麼問題?謝謝。

DEMO

回答

0

要正常工作,無線電輸入需要name屬性。對於所有的無線電廣播應該是一樣的。

您還需要更改收音機的ng-model以將其value存儲在單個屬性中。

<input ng-click="filter = !filter" ng-value="category" name="wineCategory" ng-checked="filter" type="radio" ng-model="ctrl.filter" /> 

最後,您需要調整您的過濾方法。

0

無線電框組中的所有輸入必須只有一個對ng-model的引用,它通常是輸入的值。

所以,您輸入的標記將

 <input value="{{category}}" type="radio" ng-model="ctrl.filterCategory" /> 

當值=類別應該是紅色,而或香檳。

現在同樣的過濾功能會改變這裏用NG-模型這樣

function filterByCategory(wine) { 
    return (self.filterCategory === wine.category || self.filterCategory === "") ? 'show':'hide'; 
    } 

工作演示。

http://jsfiddle.net/nah42h1c/2/