Jquery &引用;href";复选框更新后属性未正确更新
我使用最新版本的jQueryMobile(1.3.2) 我有一个带有标签的复选框,其中包含一个标题和两个段落。 我希望能够单击标题并根据复选框的状态显示弹出窗口:Jquery &引用;href";复选框更新后属性未正确更新,jquery,jquery-ui,jquery-mobile,Jquery,Jquery Ui,Jquery Mobile,我使用最新版本的jQueryMobile(1.3.2) 我有一个带有标签的复选框,其中包含一个标题和两个段落。 我希望能够单击标题并根据复选框的状态显示弹出窗口: 如果选中该复选框,屏幕上将显示弹出窗口1。 相反,如果未选中该复选框,则显示弹出窗口2 因此,弹出窗口的链接取决于复选框的状态 这是我的密码: <div data-role="popup" id="popupMenu1"> <ul data-role="listview"> <li
如果选中该复选框,屏幕上将显示弹出窗口1。
相反,如果未选中该复选框,则显示弹出窗口2 因此,弹出窗口的链接取决于复选框的状态 这是我的密码:
<div data-role="popup" id="popupMenu1">
<ul data-role="listview">
<li><a href="#">Edit</a></li>
<li><a href="#">Activate</a></li>
<li><a href="#">Delete</a></li>
</ul>
</div>
<div data-role="popup" id="popupMenu2">
<ul data-role="listview">
<li><a href="#">Edit</a></li>
<li><a href="#">Desactivate</a></li>
<li><a href="#">Delete</a></li>
</ul>
</div>
<ul id="listOfObjects" data-role="listview" data-inset="true">
<li>
<fieldset data-role="controlgroup">
<a id="link1" href="#popupMenu1" data-rel="popup"> Object 1</a>
</fieldset>
<input type="checkbox" name="checkbox1" id="checkbox1" class="custom"/>
</li>
<li>
<fieldset data-role="controlgroup">
<a id="link2" href="#popupMenu1" data-rel="popup">Object 2</a>
</fieldset>
<input type="checkbox" name="checkbox2" id="checkbox2" class="custom"/>
</li>
</ul>
<script>
function myFunction1()
{
if ($('#checkbox1').is(':checked'))
$("#link1").attr("href", "#popup2");
else
$("#link1").attr("href", "#popup1");
}
function myFunction2()
{
if ($('#checkbox2').is(':checked'))
$("#link2").attr("href", "#popup2");
else
$("#link2").attr("href", "#popup1");
}
</script>
-
-
函数myFunction1()
{
如果($('#checkbox1')。是(':checked'))
$(“#link1”).attr(“href”,“#popup2”);
其他的
$(“#link1”).attr(“href”,“#popup1”);
}
函数myFunction2()
{
如果($('#复选框2')。是(':checked'))
$(“#link2”).attr(“href”,“#popup2”);
其他的
$(“#link2”).attr(“href”,“#popup1”);
}
然而,用这种说法:
<a id="link1" href="#popupMenu1" data-rel="popup">Object 1</a>
或
无论复选框的状态如何,显示的弹出窗口始终是popup1。那么如何设置正确的链接呢?您在
上的id是#link1
它应该是link1
试试这个
function myFunction()
{
if ($('#checkbox2').is(':checked'))
$("#link1").attr("href", "#popup2");
else
$("#link1").attr("href", "#popup1");
}
试试这个:
我已经更新了您的代码,稍微更改了您的javascript函数:
希望这有帮助
让我知道
HTML:
<a id="link1" href="#">Object1</a>
<input type="checkbox" value="you selected the checkbox" id="checkbox2">check me if you like</input>
var test = '';
$('#link1').click(function () {
test = $('input:checked').length ? $('input:checked').val() : '';
alert(test);
});
删除id“”上的哈希。我在没有“哈希”的情况下尝试过,但它不起作用。显示的弹出窗口仍然相同。我将用您的函数替换我的函数。我还将“#link1”替换为“link1”(无散列),但显示的弹出窗口始终是href中提到的弹出窗口,无论复选框的状态如何。我将“#link1”替换为“link1”,但显示的弹出窗口始终相同,无论复选框的状态如何。我已经看到您摆弄演示,我正在尝试使您的函数适应我的代码。在您的函数中,如果我将“”替换为popupMenu1,则显示的消息是“[ObjectHtmlLevel]”。