2
ラジオボタンは、選択したオプションに基づいて動的に生成されます。次に、ユーザーがラジオボタンの値に基づいてラジオボタンを選択した場合、特定の数の表の列が表示される必要があります。例:ラジオボタンの入力値に基づいてテーブルの列を表示する方法は?
- ユーザが値3を含むラジオボタン3を選択した場合、テーブルに3つの列を表示する必要があります。
- ユーザが値2を含むラジオボタン2を選択した場合、テーブルに2つの列を表示する必要があります。
- ユーザがラジオボタンを選択した場合、テーブルに1つの列を表示する必要があります。
どうすればいいですか?
私はこのコードを試してみました:
<div ng-controller="MyCtrl">
<div class="column1">
<input id="col1" name="radiogrp4" type="radio" class="ibm-styled-radio" value="1" ng-click="generateQuestionSection($event)"/>
<label for="col1">col1</label>
</div>
<div class="col2">
<input id="col2" name="radiogrp1" type="radio" value="2" ng-click="generateQuestionSection($event)"/>
<label for="col2">col2</label>
</div>
<div class="column3">
<input id="col3" name="radiogrp1" type="radio" value="3" ng-click="generateQuestionSection($event)"/>
<label for="col3">col3</label>
</div>
<table>
<tr ng-repeat="btn in createQueBtns">
<td>
<buton ng-click="showOverlay(btn.create);" style="background:#3de;padding:0px 2px;;margin:25px;">clickme</buton>
<!-- append dynamic button bellow after submiting form-->
<div ng-repeat="name in data[btn.create]">
<button ng-show="name.length > 0" ng-click='getUserDetails(name)'> {{name}}</button>
</div>
</div>
</td>
</tr>
</table>
<div ng-show="overlay" class="overlay">
<form>
<input type="text" ng-model="user.name" />
<input type="button" ng-click="sayName(user.name);" value="sayName"/>
</form>
</div>
スクリプト:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
//collection data
$scope.data = {};
$scope.sayName = function(data) {
$scope.data[$scope.selected] = $scope.data[$scope.selected] || [];
$scope.data[$scope.selected].push(data);
};
// get the data
$scope.getUserDetails = function(data) {
alert(data)
};
//creating buttons
$scope.createQueBtns = [{
"create": "createQueBtn1"
},
{
"create": "createQueBtn2"
},
{
"create": "createQueBtn3"
}
];
$scope.showOverlay = function(btn) {
$scope.selected = btn;
$scope.overlay = true;
}
$scope.generateQuestionSection = function(item) {
debugger;
var radioSelectedVal = item.currentTarget.getAttribute("value");
$scope.radioSelectedVal = parseInt(radioSelectedVal);
};
}
jsfiddleリンク:http://jsfiddle.net/wboxqqu0/10/
いずれかが私を助けてください見つけてください。 –
jsfiddleでコードを追加してくださいhttp://jsfiddle.net/wboxqqu0/10/を確認してください –