Javascript 如何通过<;李>;不替换文本框上的文本的文本
我今天有学校作业。我已经可以将表情符号传递给文本框,但如果单击,它将替换先前的表情符号或文本框上的文本。我想知道如果我点击并能够保留输入的表情符号或文本,如何不替换文本框文本。对不起,如果你们不懂的话,我的英语很差Javascript 如何通过<;李>;不替换文本框上的文本的文本,javascript,c#,jquery,html,Javascript,C#,Jquery,Html,我今天有学校作业。我已经可以将表情符号传递给文本框,但如果单击,它将替换先前的表情符号或文本框上的文本。我想知道如果我点击并能够保留输入的表情符号或文本,如何不替换文本框文本。对不起,如果你们不懂的话,我的英语很差 $(document).ready(function () { $("ul").hide(); $("input.btnemoji").click(function () { $("ul").toggle(); $("ul.emoji
$(document).ready(function () {
$("ul").hide();
$("input.btnemoji").click(function () {
$("ul").toggle();
$("ul.emoji li").click(function () {
$("#ToSend").val($(this).text());
});
});
});
- 要添加到现有值,您需要将其追加到
输入中的val()
,而不是每次都替换它。为此,您可以将一个函数传递给val()
方法,该方法为您处理追加操作,如下所示:
$(文档).ready(函数(){
$(“ul”).hide();
$(“input.btnemoji”)。单击(函数(){
$(“ul”).toggle();
});
$(“ul.emoji li”)。单击(函数(){
var$li=$(本);
$(“#ToSend”).val(函数(i,v){
返回v+$li.text();
});
});
});代码>
- 这是最短的方法。您只需使用以下功能:
$("#ToSend").val($("#ToSend").val()+$(this).text());
$(文档).ready(函数(){
$(“ul”).hide();
$(“input.btnemoji”)。单击(函数(){
$(“ul”).toggle();
});
$(“ul.emoji li”)。单击(函数(){
$(“#ToSend”).val($(“#ToSend”).val()+$(this.text());
});
});代码>
-
用户附加函数而不使用使用$(“#ToSend”).val($(“#ToSend”).val()+$(this.text())
当您使用.val(value)
它将旧值替换为新值时,您只需存储旧值并使用newDownvote进行concat操作,但这不起作用。不能将append()
附加到输入
元素的值
属性几次切换菜单,然后单击其中一个li
。您将看到您单击的表情符号被添加了N次
$("#ToSend").append($(this).text());