改变<p>单击按钮时输入值
change <p> to input value when click button
我有这段代码HTML
<h2 class="p1">Player 1</h2>
<input type="text" class="addName1" value="Player 1"></input><button class="addName1b">Add name</button>
Jquery
$('.addName1b').click(function() {
var $this = $(this);
$this.toggleClass('addName1b');
if ($this.hasClass('addName1b')) {
$this.text('Add name');
} else {
$this.text('Change name');
}
$('.addName1').toggle();
$(/*TEXT FROM INPUT*/).appendTo(".p1");
});
当我按下按钮时,我想让Player1变成输入框中的文本,但不知道怎么做。请帮忙:)正如你所看到的,我计划使用.appendTo,但我不知道如何从输入元素访问文本。
感谢
使用这行代码
$('.p1').text($('.addName1').val());
在您有$(/*TEXT FROM INPUT*/).appendTo(".p1");
的地方
appendTo
不是您目标的正确选择,appendTo
用于将元素附加到另一个元素中,但您的要求是更改元素的文本,您必须使用.text()
这是一个工作片段。
$('.addName1b').click(function() {
var $this = $(this);
$this.toggleClass('addName1b');
if ($this.hasClass('addName1b')) {
$this.text('Add name');
} else {
$this.text('Change name');
}
$('.addName1').toggle();
$('.p1').text($('.addName1').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2 class="p1">Player 1</h2>
<input type="text" class="addName1" value="Player 1"></input><button class="addName1b">Add name</button>
- 使用变量存储新名称
- 使用
.val()
从输入中获取新名称 - 反转最后一行,因为选择器
$('.p1')
先行,然后值为最后一行(newName)
- 没有括号,因为它是一个表示字符串的变量
将最后两行更改为:
var newName = $('.addName1').val();
$(".p1").text(newName);
$(function() {
$('.addName1b').click(function() {
var $this = $(this);
$this.toggleClass('addName1b');
if ($this.hasClass('addName1b')) {
$this.text('Add name');
} else {
$this.text('Change name');
}
var newName = $('.addName1').val();
$(".p1").text(newName);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<h2 class="p1">Player 1</h2>
<input type="text" class="addName1" value="Player 1" />
<button class="addName1b">Add name</button>
也许你应该使用一些框架?)像棱角分明的、击倒对手的、反应型的?非常适合这样的用途。
但是。对于读取输入值,您可以使用以下内容:
$('#id').val();
输入不会像这个那样关闭
<h2 class="p1">Player 1</h2>
<input type="text" class="addName1" value="Player 1"></input><button class="addName1b">Add name</button>
仅
<input .... />
你的JS修改
$('.addName1b').click(function() {
var $this = $(this);
var $input_val = $('.addName1').val();
$this.toggleClass('addName1b');
if ($this.hasClass('addName1b')) {
$this.text('Add name');
} else {
$this.text('Change name');
}
$('.addName1').toggle();
$('.p1').text($input_val);
});
这是jsfiddle:https://jsfiddle.net/qgumjy7b/
希望这有助于理解你错过了什么。
相关文章:
- 更改输入按钮's onClick参数
- 通过提示中的循环触发iFrame中的输入按钮(JavaScript)
- 将 CSS 应用于禁用的输入按钮
- 仅对一个输入按钮禁用应用
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- 如果未选中复选框,则禁用引导输入按钮
- 如果从文件输入按钮调用 .ajaxSubmit() 时,它是必需的表单
- JavaScript - 输入按钮隐藏 - 不起作用
- 输入按钮分隔显示按钮名称和值
- 单击列表中的引导输入按钮将禁用其他按钮
- javascript的事件监听器将下拉列表转换为输入按钮
- 表单验证和提交时提交文本&输入按钮上带有验证的图像
- JQuery-防止表单在输入按钮上提交,out防止按键敲击
- 如何使用javascript移除/隐藏、更改输入按钮的标题
- 检查输入按钮
- 每当我按下输入框内的键盘输入按钮(其中有文本)时,都会出现新的段落
- 每当在文本区域上输入按钮时,都会触发按钮
- 如果 e.keyCode 是“输入”按钮,并且元素包含其他文本,则验证条件
- 单击输入按钮时更新文本区域内容
- 如何显示输入按钮并关闭当前窗口