为什么我的单选按钮检测不到检查?
我讨厌当我花这么多时间在这样的基本问题上,看起来很容易在我的脑海中,但只是不工作。为什么我的单选按钮检测不到检查?
我有一个页面有两个单选按钮,关于哪一个我点击它应该把我发送到相关页面。
的DOM:
<form id="question-form4" class="list">
<ion-radio id="question-checkbox1">YES</ion-radio>
<ion-radio id="question-checkbox2">NO</ion-radio>
</form>
<button ng-click="next()" type="submit" class="button button-assertive button-block">NEXT</button>
控制器:
$scope.next = function(){
if(document.getElementById('question-checkbox1').checked = true) {
//Male radio button is checked
$state.go('photo');
}else if(document.getElementById('question-checkbox2').checked = true) {
//Female radio button is checked
$state.go('prescription');
}
}
和当然,无论我选择,它总是给我的页面 “照片”。我可能做错了什么?
用以下替换您的条件。正如@Alvirp所说,它是=
vs ==
问题。
if(document.getElementById('question-checkbox1').checked == true)
和
else if(document.getElementById('question-checkbox2').checked == true)
你好,它不会触发任何事情。 – FrenchyNYC
从技术上说,你甚至不需要'== true'因为'checked'已经是一个布尔型 – Jan
是的,它也不工作 – FrenchyNYC
好吧,鉴于是相同的,而不是工作的所有解决方案之后,我发现了一个“法”是比较复杂的,没有做任何真正的SENS给我,但那个作品:
1)在两个单选按钮添加ng-model
:
<ion-radio ng-model="value.name" value="yes" id="question-checkbox1">YES</ion-radio>
<ion-radio ng-model="value.name" value="no" id="question-checkbox2">NO</ion-radio>
2)外接克的外部<p>
与ng-model
的值:
<p id="final">{{value.name}}</p>
3)在控制器中的<p>
的值进行比较:
$scope.next = function(){
if(document.getElementById('final').textContent == "yes") {
//Male radio button is checked
$state.go('photo');
}else if(document.getElementById('final').textContent == "no") {
//Female radio button is checked
$state.go('prescription');
}
}
此带我一小时半。希望它有助于某人。
它是'='vs'=='的问题? –
'document.getElementById('question-checkbox1')。checked = true'将每个时间评估为true。 (因为@ÁlvaroGonzález说的) – tymeJV
你好,它不会触发任何事情这样做。 – FrenchyNYC