WEUI
<p class="weui_cell weui_cell_switch">
<p class="weui_cell_hd weui_cell_primary">是否开车</p>
<p class="weui_cell_ft">
<input class="weui_switch" type="checkbox" name="isdriver">
</p>
</p>
原本的表单
<input type="radio" name="isout" value="0" checked="checked">内勤
<input type="radio" name="isout" value="1">外勤
阿神2017-04-10 17:09:46
它这个开关打开以后,会给这个Input元素加一个checked属性,所以你只要给你获取这个checked属性的值
我的思路大概就是放在form表单中的一个隐藏input元素中一起提交
<input name="weui_switch_value" id="weui_switch_value" type="hidden"/>
<script>
$(function () {
$(".weui_switch").bind("click",function(){
$("#weui_switch_value").val($(".weui_switch").attr("checked"));
alert($("#weui_switch_value").val());
})
})
</script>
伊谢尔伦2017-04-10 17:09:46
weui这个开关控件好像确实只能用来显示开关状态,无法提交数据,我根据楼上的思路,建了一个隐藏的radio标签,然后通过这个开关控件来设置radio标签的value属性,这样提交,后台php就能获取到正确的表单信息了:
<!--隐含元素,用于接收按钮的状态,一定要设置成checked提交才有效,否则提交的信息无法被php获取-->
<input hidden="hidden" id="btn" name="btn1" type="radio" value="off" checked="checked" />
<p class="weui-cells weui-cells_form">
<p class="weui-cell weui-cell_switch">
<p class="weui-cell__bd">开关1</p>
<p class="weui-cell__ft">
<input class="weui-switch" type="checkbox" id="button1" name="button1" />
</p>
</p>
</p>
<script>
$(function () {
$("#button1").bind("click", function () {
// console.log( $("#button1").val() );
if($("#btn").val()=="off"){
$("#btn").val("on");
console.log("开关1当前状态:"+$("#btn").val());
}else{
$("#btn").val("off");
console.log("开关1当前状态:"+$("#btn").val());
}
});
});
</script>