Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript-如何在向文本框添加值时自动选中复选框_Javascript_Asp.net_Checkbox_Textbox - Fatal编程技术网

javascript-如何在向文本框添加值时自动选中复选框

javascript-如何在向文本框添加值时自动选中复选框,javascript,asp.net,checkbox,textbox,Javascript,Asp.net,Checkbox,Textbox,我对ASP.NET中的javascript略知一二。我把文本框放在复选框控件旁边。所以,当您键入文本框时,复选框应自动被选中。当您删除文本框中的字符串时,复选框应自动取消选中。如何使用javascript编写代码 我试图在这里编写的代码不起作用: <script type="text/javascript" language="javascript"> function TextboxFunction() { if (document.getElementBy

我对ASP.NET中的javascript略知一二。我把文本框放在复选框控件旁边。所以,当您键入文本框时,复选框应自动被选中。当您删除文本框中的字符串时,复选框应自动取消选中。如何使用javascript编写代码

我试图在这里编写的代码不起作用:

<script type="text/javascript" language="javascript">
    function TextboxFunction() {
        if (document.getElementById("txtQuestion").textContent != null)
            document.getElementById("cbxYes").checked = true;

        if (document.getElementById("txtQuestion").textContent == null)
            document.getElementById("cbxYes").checked = false;
    }
</script>

函数TextboxFunction(){
if(document.getElementById(“txtQuestion”).textContent!=null)
document.getElementById(“cbxYes”).checked=true;
if(document.getElementById(“txtQuestion”).textContent==null)
document.getElementById(“cbxYes”).checked=false;
}
Asp.net(列表视图)


.textContent
更改为
.Value
,并将
Null
更改为


函数TextboxFunction(){
if(document.getElementById(“txtQuestion”).Value!=“”)
document.getElementById(“cbxYes”).checked=true;
if(document.getElementById(“txtQuestion”).Value==“”)
document.getElementById(“cbxYes”).checked=false;
}

我相信只有在输入失去焦点后才会触发
onChange
事件。尝试捕获
txtQuestion
上的
onKeyPress
事件。在事件处理程序中,选中
document.getElementById(“txtQuestion”).value.length>=0
,并根据需要选中或取消选中复选框


编辑:在这种情况下,
onKeyUp
事件将比
onKeyPress
更有效。

更改您正在使用的属性。尝试.value而不是.textContent

但是,还有:我看到您正在使用网格。我估计您可能有多个id为“cbxYes”的复选框

我建议您转到并检查方法$(this).before()和.closest(),以找到需要更改的复选框。

您应该使用

document.getElementById("txtQuestion").value
而不是

document.getElementById("txtQuestion").textContent

当您使用ItemTemplate时,我需要一个放在中继器中或类似的东西。在这种情况下,您放在控件中的ID将与它在HTML中呈现的ID不同,因为您将拥有多个具有相同ID的控件。Asp.Net将处理该ID

您可以这样做:

 <ItemTemplate>
     <tr class="item" runat="server">
        <td><asp:TextBox ID="txtQuestion" OnChange="TextboxFunction(this);" Width="200px" runat="server"></asp:TextBox></td>
        <td><asp:CheckBox ID="cbxYes" runat="server" /></td>
    </tr>
 </ItemTemplate>

您将文本框作为参数传递,因此不必通过id获取文本框。然后查找下一个TD中的复选框并应用逻辑。对于这类事情,JQuery比纯javascript更容易使用。此外,如果检查,您可以跳过最后一个
。只需将if(document.getElementById(“txtQuestion”).Value==“”)更改为
else
。我只是粗略猜测一下,这会导致错误,类似于“HtmleElement没有属性值”,因为它区分大小写。不客气,Brett。喜欢雷神的视频顺便说一句,把我搞坏了!他们删除了我在另一个问题中的一些评论,关于我所说的苹果IIe的事情,我不知道你是否看到了@BrettFromLA@Fred-我确实看到了!我也是一个“老家伙”——特别是自从苹果公司出现在苹果公司之前,我的电脑连小写字母都没有。你是苹果公司的吗[e用户做得很好。XDLOL,好吧,Brett,我的信息告诉我的是,我们在80年代中期使用了苹果IIe,但不是用于编程,而是用于图形艺术行业。然后我写了“是的,我那么老了,lol”所以我们差不多是同一年龄段的人。当时还说9英寸的引导盘要90美元。一个人不想把一个搞砸,当时的老板碰巧用手指碰了一下暴露的区域(一次)。哦,好吧,他上了子弹,所以没什么大不了的;他买得起;-)@BrettFromLA-我们有被认为是(最先进的)“最先进的”技术哈哈!这实际上是价值。这是案例sensitive@ivowiblo::我的坏..更新了。谢谢:)不适合我。你能给我完整的代码让我理解吗。thx:)
document.getElementById("txtQuestion").textContent
 <ItemTemplate>
     <tr class="item" runat="server">
        <td><asp:TextBox ID="txtQuestion" OnChange="TextboxFunction(this);" Width="200px" runat="server"></asp:TextBox></td>
        <td><asp:CheckBox ID="cbxYes" runat="server" /></td>
    </tr>
 </ItemTemplate>
function TextboxFunction(textbox) {
    var textBoxTd = textbox.parentNode;
    var checkboxTd = textBoxTD.nextSibling;
    var chx = checkboxTd.childNodes[0];
    chx.checked = textbox.value == "";
}