隐藏/显示表单元素在Android App上不起作用

问题描述 投票:2回答:2

我正在尝试创建一个交互式表单。您的选择决定了出现的下一个问题。我正在使用jQuery Mobile,它在使用Dreamweaver的PC上运行良好,但是当我构建到Android时,java脚本无效。这看起来像简单的代码,所以我不确定为什么它不适用于Android。谁能告诉我哪里出错了?

这是代码:

使用Javascript:

function toggle_visibility(id) {
   var e = document.getElementById(id);
   if(e.style.display == 'block')
      e.style.display = 'none';
   else
      e.style.display = 'block';
}

HTML:

<div id=SkillSet data-role="fieldcontain">
      <fieldset data-role="controlgroup" data-type="horizontal">
        <legend>Skill Set:</legend>
        <a onclick="toggle_visibility('AV');"><input type="checkbox" name="SkillSet" id="SkillSet_0" class="custom" value="" /></a>
        <label for="SkillSet_0">AV</label>
        <a onclick="toggle_visibility('IT');"><input type="checkbox" name="SkillSet" id="SkillSet_1" class="custom" value="" /></a>
        <label for="SkillSet_1">IT</label>
      </fieldset>
    </div>


   <div id="IT" style="display:none">
    <hr>

    Blah Blah Blah     
</div>
javascript android html hide show-hide
2个回答
1
投票

这是一个有趣的:

Android web DOES支持display:none和javascript并没有使用jQuery mobile

我想这可能是因为你的输入周围有一个锚标记。尝试将onclick事件放在复选框上或在锚点中放入其他内容。

编辑:或者可能是有多个具有相同ID的元素? Ids应该是独一无二的......


0
投票

尝试将功能附加到窗口。

window.toggle_visibility = function(id) {
   var e = document.getElementById(id).style.display;
   e=="block" ? e="none" : e="block";
}

虽然我确信jquery有类似的东西更简单。

另外,为什么a标签内的复选框?

© www.soinside.com 2019 - 2024. All rights reserved.