jQuery为啥更改文本隐藏复选框?

Posted

技术标签:

【中文标题】jQuery为啥更改文本隐藏复选框?【英文标题】:jQuery why changing the text is hiding the checkbox?jQuery为什么更改文本隐藏复选框? 【发布时间】:2012-10-09 21:39:12 【问题描述】:

我正在更改文本框的文本,并更新标签,但它隐藏了复选框?谁能告诉我我做错了什么?

这里

http://jsfiddle.net/6mZbm/6/

这里

<input type="text" id="txtInput"  />
</br>
<label id="lbl" />
</br>
</br>
<input type="checkbox" id="chkUpdate" />

jQuery

$(document).ready(function(event) 

    $('#txtInput').keydown(function(event) 

        $('#lbl').text($('#txtInput').val());
        $('#lbl').change();
    );


    $('#lbl').change(function(event) 
        // alert($('#chkUpdate').size());
        $('#chkUpdate').change();
    );


);

好的,我关闭了标签标签它仍然无法正常工作... 检查更新的小提琴。

EDIT 2 好的,它现在可以工作了,但是我没有得到我想要做的事情,正如从代码中应该清楚的那样,我想 check uncheck (基本上改变)复选框,当标签更新时,但正如您在小提琴(我的和 Muthu Kumaran 提供的)中看到的那样,复选框没有改变其状态?

编辑 3: 这似乎适用于 click() 而不是 change(),但按照 jQuery specification,它不应该也适用于更改吗??

【问题讨论】:

哎呀,在标签末尾添加 /> 你在尝试做什么? @goldenparrot:更新问题 见***.com/questions/4177159/… 【参考方案1】:

因为你没有关闭&lt;label&gt;标签,

关闭label标签就可以正常工作了

<label id="lbl"></label>

更新: 工作演示:http://jsfiddle.net/6mZbm/8/

【讨论】:

那么,我们不能像这样关闭标签吗? ` />` 我关闭复选框并输入的方式? 您可以使用 / 关闭单个标签,例如。 或 但您不需要这样做 - 否则使用 - 【参考方案2】:

您正在替换包含您的复选框的 &lt;label&gt; 的文本,将您的复选框从标签标签中取出。

【讨论】:

【参考方案3】:

随便放

<label id="lbl"></label>

【讨论】:

以上是关于jQuery为啥更改文本隐藏复选框?的主要内容,如果未能解决你的问题,请参考以下文章

Gridview中的JQuery如何在文本框在同一行更改时检查复选框

如果选中,则更改复选框旁边的文本。 HTML + JS 或 jQuery [关闭]

为啥我的复选框更改事件没有被触发?

如何使用 jQuery 处理复选框的初始状态和更改?

HTML:为啥没有本地支持来限制复选框中的状态更改而不禁用它? [复制]

如何更改复选框输入样式,以便用户点击标签而不是实际框?