2015-02-20 5 views
0

Я боюсь с угловыми вводами флажков. У меня есть простой вход, который выглядит следующим образом ...угловой вход checkbox удалить поле

<input type="checkbox" ng-model="selectedExercise.isTimed" required/> 

Однако, когда я снимите флажок он удаляет поле .isTimed из моего объекта, когда я хочу, чтобы установить его равным ложные. Например ...

проверил

{ 
    "name": "Work", 
    "isTimed": true, 
    "duration": 3, 
} 

непроверенную

{ 
    "name": "Work", 
    "duration": 3, 
} 

Я взломал эту работу, добавив функцию нг-изменения, но это супер взломать, что он просто проверяет, посмотрите, удаляет ли угловое поле поле, а затем снова добавляет его. Есть ли правильный способ установки флажка ввода, так что угловой не удалит поле объекта, если флажок не установлен?

+0

это из-за 'required'. – MamaWalter

+0

@MamaWalter Спасибо! Если вы опубликуете это как ответ, я пришлю вам всю карму. – honkskillet

ответ

1

У меня была такая же проблема. Вы можете решить это, просто удалив «обязательно» в галочке. Как я понимаю, это просто

+0

Похоже, вы забыли закончить свой ответ. – bwegs

+0

Это правильно. MamaWalter ответил на это в комментариях к моему OP, но он не опубликовал его в качестве ответа, поэтому я соглашусь с этим. – honkskillet

0

Возможно, это связано с тем, как обрабатываются эти флажки. Они имеют тенденцию возвращать значение только тогда, когда они верны. Однако с угловым вы можете переопределить это и зафиксировать любое состояние.

<input type="checkbox" ng-model="selectedExercise.isTimed" ng-true-value="yep" ng-false-value="nope" required/> 
+0

Я уже пробовал что-то подобное. Добавление ... ng-false-value = "false" ng-true-value = "true" ... не имеет никакого эффекта (поле все еще исчезает, когда я снимаю галочку). Даже если я делаю что-то вроде ..... ng-false-value = "'nope" ng-true-value = "' yep '" ... значение проверки становится «yep», но при исчезновении поля исчезает. – honkskillet

Смежные вопросы