Jquery 将1添加到输入字段
我不明白为什么这行不通。我想让一个简单的计数器工作。当用户单击“是”时,我希望将隐藏文本框的值增加1。当前,当我单击“是”时,文本框的值更改为“102”,附加的文本显示为“101102”。有什么想法吗 以下是我正在使用的代码:Jquery 将1添加到输入字段,jquery,Jquery,我不明白为什么这行不通。我想让一个简单的计数器工作。当用户单击“是”时,我希望将隐藏文本框的值增加1。当前,当我单击“是”时,文本框的值更改为“102”,附加的文本显示为“101102”。有什么想法吗 以下是我正在使用的代码: var yesValue = parseInt($("#trend-one-yes").val()); $("#trend-one-yes").val(yesValue+1); var $addDiv = $('#yes');
var yesValue = parseInt($("#trend-one-yes").val());
$("#trend-one-yes").val(yesValue+1);
var $addDiv = $('#yes');
$addDiv.append($("#trend-one-yes").val());
更新 我添加了一些建议的代码。它仍然输出错误的号码。它应该增加1,而不是增加2。谢谢你的帮助
<div id="vote" class="animated" data-fx="slideInDown">
<div class="vote-w">
<div class="vbut" id="yes"><div></div><div class="tag">Yes</div></div>
<div class="vbut" id="no"><div></div><div class="tag">No</div></div>
</div>
<div id="results">
<div class="res" id="yesNum"></div>
<div class="res" id="noNum"></div>
<form id="vals" method="post" action="data/save.php" target="sub">
<input id="trend-one-yes" name="trend-one-yes"
value="<?php echo $survey->one->yes?>"/>
<input id="trend-one-no" name="trend-one-no"
value="<?php echo $survey->one->no?>"/>
</form>
<iframe id="sub" frameborder="0" name="sub"
style="height:1px; width:1px;"></iframe>
</div>
;对
;不
您不是用新值更新#yes
元素,而是将新值附加到现有值。使用.html()将现有值替换为新值
var $tyes = $("#trend-one-yes");
var count = parseInt($tyes.val(), 10) + 1
$tyes.val(count);
var $addDiv = $('#yes').text(count);
您需要替换节点值而不是追加
$addDiv.html($("#trend-one-yes").val());
问题概述
如果表单字段的值为101,单击元素后如何将其增加1
为什么我的代码将值设置为101102
,而不是将值更改为102
李>
为什么我更新的代码将值增加了2而不是1
问题1您必须确保您获得的值属于number
如果查看,可以看到val返回字符串、数字或数组。所以你必须确保你把它变成一个数字。
要获取单击次数,可以使用parseint
问题3的更新3
为了能够提供帮助,我需要更多的信息。我相信你想要这个:
- yesCount的初始值是101,来源于
显示html结构初始值是多少?试试$addDiv.html(…);你能分享更多的代码吗?我们可以帮助你吗?你有没有想过用我的代码笔例子来说明你的意思?您是否可以更新不起作用的描述和示例:预期:单击
时,趋势是的计数器应增加1。问题:点击。。。复制步骤:……是的,这是$(“#是”)的唯一实例。还是加两。我添加了一个完全不同的新按钮,仍然不起作用。Thx@user2750623:我不是指唯一的例子。我说的是有多少个id=yes
甚至可能是id=vote
谢谢你的帮助。结果发现它与我使用的fullPage.js插件有冲突。没有它,一切都很好。再次感谢你的帮助!你介意投票吗?或者,如果你不能这样做,请接受我的回答,因为它涉及到你文章中的一些问题?您是如何发现它是fullPage.js插件的?您是否查看了事件侦听器?
$addDiv.html($("#trend-one-yes").val());
// get the value from <input id=trend-one-yes type=??? <-- i assume type=text?
var yesCount = parseint($("#trend-one-yes").val(), 10);
// increase value by 1 and write it back into the field
yesCount = yesCount +1;
$("#trend-one-yes").val(yesCount);
var $addDiv = $('#yes'); // get a reference to <div id=yes>
// append is the wrong function --> $addDiv.append($("#trend-one-yes").val());
// the newYesCount will be increased by one after a certain user action
var newYesCount = GetNewYesCount(yesCount);
$addDiv.val(newYesCount);
$("#yes").mouseup(function()
{
// i assume get yes count from <input id="trend-one-yes
var yesCount = GetCurrentYesCount();
// increase yesCount by 1 after a certain user action
var newYesCount = GetNewYesCount(yesCount);
// write newYesCount into another form field
// i assume <div class="res" id="yesNum">
});