我正在尝试以编程方式更改翻转开关值,但它无法正常工作 这是HTML
<label for="flip-1">Flip switch:</label>
<select name="flip-1" id="flip-1" data-role="slider">
<option value="NG">NG</option>
<option value="OK">OK</option>
</select>
<input type="text" id="name" />
<input type="number" id="age" />
这是脚本
$("#flip-1").on('slidestart', function (event) {
var name = document.getElementById("name").value;
var age = document.getElementById("age").value;
if (name == "" || age == "") {
$("#flip-1").val("NG").flipswitch("refresh");
} else[
// slide it to OK
]
});
我需要的是NG
一直被选中,但前提是两个输入中都有一些文字
答案 0 :(得分:2)
尝试以下方法可行。设置翻转开关的更改事件。
HTML就像
<select name="flip-3" id="snd-switch" data-role="flipswitch" data-mini="true">
<option value="NG">NG</option>
<option value="OK">OK</option>
</select>
<input type="text" id="name" />
<input type="text" id="age" />
Javascript就像:
$("#snd-switch").on('change', function (event) {
var name = document.getElementById("name").value;
var age = document.getElementById("age").value;
if(name == "" || age == ""){
// alert("hi");
$("#snd-switch").val("NG").flipswitch("refresh");
}else{
$("#snd-switch").val("OK").flipswitch("refresh");
}
});
以下是 FIDDLE DEMO
答案 1 :(得分:1)
我会反转逻辑,检查input
字段并在需要时启用flipswitch。
HTML:
<div data-role="page" id="page">
<label for="flip-1">Flip switch:</label>
<select name="flip-1" id="flip-1" data-role="flipswitch">
<option value="NG">NG</option>
<option value="OK">OK</option>
</select>
<input type="text" id="name" />
<input type="number" id="age" />
</div>
JavaScript的:
$("#page").bind("pageshow", function()
{
$("#flip-1").flipswitch("disable");
$("#name,#age").on("keyup", function(event, ui)
{
if ($("#name").val().length !== 0 && $("#age").val().length !== 0)
$("#flip-1").flipswitch("enable");
else
$("#flip-1").flipswitch("disable");
});
});