我有一个名为itemtitle的输入。当我点击一个按钮时,名为counter的元素增加1。所以下面的代码适用于第一项。 counter div的innerHTML为1,当我在itemtitle输入中写入时,文本显示在第1项上。
if (document.getElementById("counter").innerHTML === "1"){
$("#itemtitle").keyup(function() {
$("#item1").html($("#itemtitle").val());
});
我再次点击按钮,计数器innerHTML上升到2.我有以下代码。
if (document.getElementById("counter").innerHTML === "2"){
$("#itemtitle").keyup(function() {
$("#item2").html($("#itemtitle").val());
});
但是当我在itemtitle输入中写入时,文本会显示在item1和item2上。即使计数器值为2.我该如何解决这个问题?当计数器为1时,我只希望文本转到item1。当计数器为2时,它应该只进入第2项。
提前致谢
答案 0 :(得分:0)
您正在根据这两个keyup
条件注册if
个事件,所以这并不意味着只有当events
匹配时才会触发特定if condition
事件。一直开火。所以你应该做的是,在if condition
事件中写一个keyup
,以便分支语句根据html
值做出反应。即1或2
试试这个,
$("#itemtitle").keyup(function() {
if($.trim($("#counter").html()) === "1")
{
$("#item1").html($(this).val());
}
else
{
$("#item2").html($(this).val());
}
});
答案 1 :(得分:0)
我现在解决了。并且仍然能够将它们分开。我改成了:
$("#itemtitle").keyup(function() {
if (document.getElementById("counter").innerHTML === "1"){
$("#item1").html($("#itemtitle").val());
}
});
这样,只要我在输入中输入内容,它就会检查值。