我有一个包含10个字段的表单,表单看起来像我在此处提到的图片
正如您在图像中看到的那样,有一个输入字段和复选框。在这里,我想在输入值后输入每个复选框,并使用键盘上的手机输入键输入。我尝试过这个stackoverflow ans的指令。
我想在这里添加我的代码,如果我在代码或逻辑中做错了,请建议我。
这是我的HTML代码:
<label class="item item-input">
<input type="text" next placeholder="In a word, what is important to you?" ng-model="values.first" ng-disabled="success.first">
<ion-checkbox ng-click="toggleCheckBox(success.first,values.first,0)" ng-change="show2='true'" ng-model="success.first"
ng-disabled="!values.first" style="border: none;padding-left: 30px;" class="checkbox-royal"></ion-checkbox>
</label>
<label class="item item-input" ng-show="show2" ng-class="{'animated-custom slideInLeft':success.first}">
<input type="text" next placeholder="What else is important to you?" ng-model="values.second" ng-disabled="success.second">
<ion-checkbox class="checkbox-royal" ng-model="success.second" ng-click="toggleCheckBox(success.second,values.second,1)" ng-change="show3='true'" ng-disabled="!values.second" style="border: none;padding-left: 30px;"></ion-checkbox>
</label>
这是控制器片段:
var values = [],obj={};
$scope.toggleCheckBox = function(isChecked, value) {
values = []; // Clean the values
obj[value] = (isChecked) ? true : false;
Object.keys(obj).forEach(function(k) {
obj[k] && values.push(k); // Fill the ordered values
});
};
答案 0 :(得分:0)
<label>
<input type="text" onkeyup="validateInput(this)">
<input type="checkbox">
</label><br>
<label>
<input type="text" onkeyup="validateInput(this)">
<input type="checkbox">
</label><br>
<label>
<input type="text" onkeyup="validateInput(this)">
<input type="checkbox">
</label><br>
<label>
<input type="text" onkeyup="validateInput(this)">
<input type="checkbox">
</label><br>
<script>
function validateInput(elmnt){
if(elmnt.value!==""){
elmnt.parentNode.childNodes[3].checked = true;
}
}
</script>
这是您希望这将有助于
的代码的工作示例答案 1 :(得分:0)
您可以在链接中尝试ngEnter指令:
https://gist.github.com/EpokK/5884263
基本上它捕获映射到Enter的keydown事件。你可以像这样使用它:
<input ng-enter="toggleCheckbox()">