按照官方文档(jqueryMobile.1.3.0)所说,拿到关于多选按钮的代码为
<
fieldset
data-role
=
"controlgroup"
data-type
=
"horizontal"
data-mini
=
"true"
>
<
legend
>Checkboxes, mini, horizontal controlgroup:</
legend
>
<
input
type
=
"checkbox"
name
=
"checkbox-6"
id
=
"checkbox-6"
>
<
label
for
=
"checkbox-6"
>b</
label
>
<
input
type
=
"checkbox"
name
=
"checkbox-7"
id
=
"checkbox-7"
checked
=
""
>
<
label
for
=
"checkbox-7"
><
em
>i</
em
></
label
>
<
input
type
=
"checkbox"
name
=
"checkbox-8"
id
=
"checkbox-8"
>
<
label
for
=
"checkbox-8"
>u</
label
>
</
fieldset
>
/*
如上所示,通常页面,我经常用jquery.attr("checked")的属性判断是否为选中状态。可是,进过jqueryMobile的框架渲染后,这个checked的属性只是为了一个皮肤效果,并没有实际选中,可以通过chrome浏览器查看。
网上百度谷歌了一下,发现有个帖子采用,这个方法。
$(
'input[type="checkbox"]'
).bind(
'click'
,
function
() {
$(
this
).prop(
'checked'
).checkboxradio(
"refresh"
);
// 绑定事件及时更新checkbox的checked值
});
可能版本变化的原因,我这里显示没有checkboxradio这个属性。
看radio单属性的api文档,发现有val这个属性,抱着试一试的态度,果然就是它
所以解决办法就是,
可以通过添加val='on'属性,然后用$(this).val('off');进行变化,从而获得点击状态。
*/