未选中时,复选框输入未定义 - AngularJS

时间:2016-01-31 12:33:09

标签: angularjs

我的AngularJS复选框存在问题,当取消选中时,它们会变为undefined。无法弄清楚为什么会这样。

<input type="checkbox" name="available" ng-model="formData.available" ng-true-value="1" ng-false-value="0" required>

使用上面的代码;页面加载的默认值为0。当它被检查时它变为1。当我取消选中它时,它变为undefined

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:3)

感谢评论,我意识到 <div class="container"> <table class="table table-hover"> <thead> <tr> <th>Name</th> </tr> </thead> <tbody> <?php foreach ($erg AS $dateiname): ?> <tr> <td> <div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#"><span class="glyphicon glyphicon-file"></span> <?php echo $dateiname['dateiname']; ?> <span class="caret"></span></button> <ul class="dropdown-menu"> <li><a href="includes/wiederherstellen.php"><span class="glyphicon glyphicon-repeat"></span> Wiederherstellen</a></li> <li><a href="#"><span class="glyphicon glyphicon-remove"></span> Endültig löschen</a></li> </ul> </div> </td> <td><?php echo $dateien['dbuser.user'] ?></td> </tr> <?php //$name = $_GET["name"]; $papierkorb=0; $stmt = $con->prepare("UPDATE dbdateien SET papierkorb=:papierkorb WHERE dateiname=:dateiname"); $stmt->bindValue(':papierkorb', $papierkorb, PDO::PARAM_INT); $stmt->bindParam(':dateiname', $dateiname['dateiname'], PDO::PARAM_STR); $stmt->execute(); unset($stmt); ?> <?php endforeach; ?> </tbody> </table> </div>选项不是必需的,而且是导致问题的原因。谢谢你们!

答案 1 :(得分:3)

如果您需要必要的属性,请设置ng-model-options =&#34; {allowInvalid:true}&#34;因此未定义在模型上变为假。

https://docs.angularjs.org/api/ng/directive/ngModelOptions