勾选复选框输入键离子

时间:2016-12-07 08:26:11

标签: javascript jquery angularjs ionic-framework

我有一个包含10个字段的表单,表单看起来像我在此处提到的图片enter image description here

正如您在图像中看到的那样,有一个输入字段和复选框。在这里,我想在输入值后输入每个复选框,并使用键盘上的手机输入键输入。我尝试过这个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
      });
    };

2 个答案:

答案 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()">