我设置了这样的单选按钮:
<hr />
<h2>PhoneyTV Cabana</h2>
<p>
<input type="radio" id="phoneyRadio1" value="0" onclick="toggleParticlePower(phoneyID, phoneyPowerFunction, this.value)" name="led" />Off
<input type="radio" id="phoneyRadio2" value="1" onclick="toggleParticlePower(phoneyID, phoneyPowerFunction, this.value)" name="led" />On
</p>
必须有一种更简单的更新统计数据的方法:
$.getJSON(myURL, function(data) {
state = (parseInt(data.result) == 1)
if (state) {
$('#phoneyRadio1').attr('checked', false);
$('#phoneyRadio2').attr('checked', true);
} else {
$('#phoneyRadio2').attr('checked', false);
$('#phoneyRadio1').attr('checked', true);
}
});
我尝试突出显示“激活”按钮,但我遇到了麻烦......
我错过了什么明显的捷径?
答案 0 :(得分:0)
if (state) {
$('#phoneyRadio1').attr('checked', false);
$('#phoneyRadio2').attr('checked', true);
} else {
$('#phoneyRadio1').attr('checked', true);
$('#phoneyRadio2').attr('checked', false);
}
在上面的代码中,如果仔细观察,一个简单的模式,phoneyRadio1
的值总是与条件相反,phoneyRadio2
与条件相同。所以它可以简化为:
$('#phoneyRadio1').attr('checked', !state);
$('#phoneyRadio2').attr('checked', state);
现在,state = (parseInt(data.result) == 1)
会使state
成为一个全局变量(缺少var
)。其次,您要将data.result
转换为int,因此,由于您要匹配相同的类型值,因此应使用===
而不是==
。
所以它看起来像var state = (parseInt(data.result) === 1)
或var state = (+(data.result) === 1)
。
答案 1 :(得分:0)
你可以试试这个。
{{1}}