javascript-如何根据选定的元素重置jQuery变量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何根据选定的元素重置jQuery变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2015字,纯文字阅读大概需要3分钟。
内容图文
![javascript-如何根据选定的元素重置jQuery变量?](/upload/InfoBanner/zyjiaocheng/662/96c9ffb1b84341c89e476927c35913bd.jpg)
我创建了一个HTML规则,允许用户选择一个单元格,并将其与可能的积分相加.现在,我有一个仅允许选择每行一个td的功能.选择单元格后,会将点添加到变量中.问题是,当我更改行的选择时,它只是将新选择添加到变量的顶部,而不会减去和替换值.
例如,如果我选择了8点,但将其更改为6,而不是将变量值更改为6,则将6加到8.
我要加分的功能如下:
jQuery('#ldrm-rubric-loaded td.choice').click(function () {
// Obtain points earned
var ndx = jQuery(this).index() + 1;
var target = jQuery('#ldrm-rubric-loaded thead tr.points th:nth-child('+ndx+')').html();
if(!isNaN(target) && target.length != 0) {
pointsEarned += parseFloat(target);
}
jQuery('#ldrm-points-earned').html('Points Earned: '+pointsEarned);
alert(pointsEarned);
});
http://jsfiddle.net/f6u2pjgu/1/
关于如何更改功能以替换值而不是添加值的任何想法?
解决方法:
我认为,如果您使用单个处理程序,例如
var total = 0,
$headers = jQuery('#ldrm-rubric-loaded thead tr.points th');
jQuery('#ldrm-rubric-loaded td.choice').click(function () {
var $this = jQuery(this),
$prev;
if (!$this.hasClass('selected')) {
$prev = $(this).siblings('.selected').removeClass('selected');
if ($prev.length) {
total -= +$headers.eq($prev.index()).html() || 0;
}
total += +$headers.eq($this.index()).html() || 0;
$this.addClass('selected');
jQuery(this).siblings().removeClass('selected');
var trackChanges = jQuery('#ldrm-rubric-loaded').clone().html();
jQuery('#ldrm_assignment_content').val(trackChanges);
jQuery('#ldrm-points-earned').html('Points Earned: ' + total);
alert(total);
} //else don't do anything since it is already selected
});
演示:Fiddle
如果您想保留代码结构
jQuery('#ldrm-rubric-loaded td.choice').click(function () {
var $this = jQuery(this),
$tr = $this.closest('tr'),
prevValue = $tr.data('selected') || 0;
// Obtain points earned
var ndx = $this.index() + 1;
var value = +jQuery('#ldrm-rubric-loaded thead tr.points th:nth-child(' + ndx + ')').html() || 0;
pointsEarned -= prevValue;
pointsEarned += value;
$tr.data('selected', value)
jQuery('#ldrm-points-earned').html('Points Earned: ' + pointsEarned);
alert(pointsEarned);
});
演示:Fiddle
内容总结
以上是互联网集市为您收集整理的javascript-如何根据选定的元素重置jQuery变量?全部内容,希望文章能够帮你解决javascript-如何根据选定的元素重置jQuery变量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。