首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Javascript/jQuery:如何在选择时增加一个数字并突出显示文本

Javascript/jQuery:如何在选择时增加一个数字并突出显示文本
EN

Stack Overflow用户
提问于 2011-11-14 18:27:04
回答 3查看 428关注 0票数 2

我找了又找,却找不到我需要的东西。我对Javascript知之甚少,所以我需要一些帮助。

我有一个数字,比如numValue,我想根据在不同区域选择的项目来增加或减少。此外,我希望这些项目突出显示和停留高光,直到再次点击。当被选中时,我希望numValue减少1,当被取消选举时,我希望numValue增加1。

示例:

50 (numValue)

组1

  • 选项1
  • 选项2
  • 选项3

第二组

  • 选项1
  • 选项2
  • 选项3

因此,如果我单击第1组/选项1和选项2加上第2组/选项3,我希望numValue减少3(对于3个选定的选项)。我希望每个项目在单击时保持选中,而不是在单击另一个选项时取消选择。然后在第二次单击时取消选择。因此,它变成:

47 (numValue)

组1

  • Option 1
  • Option 2
  • 选项3

第二组

2

  • Option 3

  • 选项1
  • 选项

谁能给我指明正确的方向?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-14 18:45:42

像这样的东西应该能工作:http://jsfiddle.net/2NJNT/

基本上,我只是把所有的逻辑都放在了class属性中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ul class="selector">
    <li>Foo</li>
    <li>Bar</li>
    <li>Baz</li>
    <li>Qux</li>    
</ul>

CSS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.selector .chosen{
    font-weight: bold;
}

JavaScript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function () {
    var selector = $('ul.selector'),
        numValue = 0,
        HIGHLIGHT_CLASS = 'chosen';

    selector.on('click', 'li', function () {
        var src = $(this);

        if (src.hasClass(HIGHLIGHT_CLASS)) {
            src.removeClass(HIGHLIGHT_CLASS);
            numValue--;
        } else {
            src.addClass(HIGHLIGHT_CLASS);
            numValue++;
        }
    });

});

Legacy jQuery (< 1.7)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function () {
    var numValue = 0,
        HIGHLIGHT_CLASS = 'chosen';

    $('ul.selector').delegate('li', 'click', function () {
        var src = $(this);

        if (src.hasClass(HIGHLIGHT_CLASS)) {
            src.removeClass(HIGHLIGHT_CLASS);
            numValue--;
        } else {
            src.addClass(HIGHLIGHT_CLASS);
            numValue++;
        }
    });

});
票数 1
EN

Stack Overflow用户

发布于 2011-11-14 18:46:05

下面是一个使用复选框的工作示例:http://jsfiddle.net/greglockwood/D6CP4/1/

对于每个组,我使用了以下HTML代码(尽管可以更改,这只是一个例子):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="group">
    <span class="header">Group 1</span>
    <ul>
        <li><input type="checkbox" id="group1_1" /><label for="group1_1">Option 1</label></li>
        <li><input type="checkbox" id="group1_2" /><label for="group1_2">Option 2</label></li>
        <li><input type="checkbox" id="group1_3" /><label for="group1_3">Option 3</label></li>
    </ul>
</div>

下面是我的Javascript,它使用jQuery:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function() {
   var numValue = 50;
    $('.group :checkbox').click(function() {
       var $cb = $(this);
        if ($cb.is(':checked')) {
            numValue -= 1;
            $cb.closest('li').addClass('highlight');  
        } else {
            numValue += 1;
            $cb.closest('li').removeClass('highlight');
        }
        $('#numValue').text(numValue); // show the value on the page
    }); 
});

如果你有任何问题,请告诉我。

票数 2
EN

Stack Overflow用户

发布于 2011-11-14 18:40:51

您可以为所有想要的元素设置一个设置类名,例如"select“,并在css中定义一个突出显示类,然后使用如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var numValue=50;
$(".select").click(function(){
if(this.data("selected")){
numValue +=1;
$(this).data("selected",false).toggleClass("highlight");
}else{
numValue -=1;
$(this).data("selected",true).toggleClass("highlight");
}})

编辑我使用了jquery中的以下部分:http://api.jquery.com/toggleClass/http://api.jquery.com/data/

如果你需要解释代码,请告诉我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8130788

复制
相关文章
为什么我的两个表建立数据关系有问题?
小勤:真的嘢!里面有两个小米,一个是宏仁生产的,一个是德昌生产的。但是,产品名称重复不行吗?
大海Power
2021/08/30
1.2K0
SQLAlchemy建立数据库模型之间的关系
在这里我们希望可以在Book类中存在这样一个属性:通过调用它可以获取对应的作者的记录,这类返回单个值的关系属性称为标量关系属性
Cloud-Cloudys
2020/07/06
1.7K0
SQL表之间的关系
要在表之间强制执行引用完整性,可以定义外键。修改包含外键约束的表时,将检查外键约束。
用户7741497
2022/06/06
2.5K0
MySQL表与表之间的关系
这是一个书和出版社的一个例子,书要关联出版社(多个书可以是一个出版社,一个出版社也可以有好多书)。
星哥玩云
2022/08/18
3.6K0
MySQL表与表之间的关系
建立java和jin函数之间的关系
借助于javah工具,该工具会在编译时对每个class文件中声明了native的函数输出一份。h头文件,在头文件中定义了这些函数对应的jni层的函数指针。
北洋
2022/05/06
5720
MySQL表与表之间的关系详解
员工信息表有三个字段:工号 姓名 部门 如何把他们相互联系起来呢??
全栈程序员站长
2022/07/21
2K0
Java 中,如何计算两个日期之间的差距?
String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(date);
用户7886150
2021/04/28
7.7K0
ABAP 取两个内表的交集 比较两个内表的不同
SAP自带的函数: CTVB_COMPARE_TABLES和BKK_COMPARE_TABLES; 似乎可以比较两个内表,得出第二个内表不同于第一个内表的部分(新增/删除了那些部分) 但是,具体的使用,还请有经验的朋友不吝赐教啊! 因为,我在测试数据时,发现这两个函数的效果不那么简单。 如果上述函数确实可以,提取两个内表不同部分,则我可以据此做两次比较,得到两个内表的交集。 所以,我先用另外一种方式解决了-自己写了一个提取两个内表交集的函数,供大家检阅: *" IMPORTING *" VALUE(ITAB1) TYPE INDEX TABLE *" VALUE(ITAB2) TYPE INDEX TABLE *" EXPORTING *" VALUE(ITABSAME) TYPE INDEX TABLE *"---------------------------------------------------------------------- field-symbols: <S1>, <S2>. data: L1 type i, L2 type i. assign local copy of initial line of: ITAB1 to <S1>, ITAB2 to <S2>. describe: table ITAB1 lines L1, table ITAB2 lines L2. "对记录行数少的内表,执行第一层循环; "在第二层循环中,找到对应记录,即可追加到结果内表; "同时退出第二层循环,继续执行第一层循环的下一行 IF L1 <= L2. LOOP AT ITAB1 INTO <S1>. LOOP AT ITAB2 INTO <S2>. IF <S1> EQ <S2>. APPEND <S1> TO ITABSAME. EXIT. ENDIF. ENDLOOP. ENDLOOP. ELSE. LOOP AT ITAB2 INTO <S2>. LOOP AT ITAB1 INTO <S1>. IF <S1> EQ <S2>. APPEND <S2> TO ITABSAME. EXIT. ENDIF. ENDLOOP. ENDLOOP. ENDIF. ENDFUNCTION. 另一个问题,想请教大家,在上面代码里,第二层循环是为了找出,第一层循环的当前记录,在第二个内表里是否存在;
matinal
2020/11/26
3.1K0
sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)
在这里,INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录。 例如我要取到table1和table2之中 age1和age2相同的结果并且结合起来: SELECT * FROM table1 INNER JOIN table2 ON table1.age1 = table2.age1; 在这里使用inner join 来联合table1和table2
1_bit
2021/01/14
6.1K0
sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)
探秘Oracle表空间、用户、表之间的关系
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/49282199
DannyHoo
2018/09/13
2.7K0
探秘Oracle表空间、用户、表之间的关系
当类的泛型相关时,如何在两个泛型类之间创建类似子类型的关系呢
我们都知道在java中,只要是类型兼容,就可以将一种类型的对象分配给另一种类型的对象。比如可以将一个Integer类型的对象分配给Object类型的对象,因为Object 是Integer的超类。
阿Q说代码
2022/02/16
2.9K0
当类的泛型相关时,如何在两个泛型类之间创建类似子类型的关系呢
如何在 Python 中查找两个字符串之间的差异位置?
在文本处理和字符串比较的任务中,有时我们需要查找两个字符串之间的差异位置,即找到它们在哪些位置上不同或不匹配。这种差异位置的查找在文本比较、版本控制、数据分析等场景中非常有用。本文将详细介绍如何在 Python 中实现这一功能,以便帮助你处理字符串差异分析的需求。
网络技术联盟站
2023/06/01
3.4K0
【python】---- 查找两个数之间的【可逆素数】
例如: 1009是一个素数,把它倒过来9001也是一个素数,所以我们就说1009是一个可逆素数(同理9001也是一个可逆素数)。
Rattenking
2022/01/06
2.2K0
【python】---- 查找两个数之间的【可逆素数】
Java获取两个日期之间的日期
/** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private List<Date> getBetweenDates(Date start, Date end) { List<Date> result = new ArrayList<Date>(); Calendar tempStart = Calendar.g
水煮麥楽雞
2022/11/20
6.2K0
表与表之间关系
可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。
星哥玩云
2022/09/15
1.4K0
表与表之间关系
matlab展示两个向量之间的差异
叶茂林
2023/10/07
2420
matlab展示两个向量之间的差异
两个app应用之间的跳转
一,应用跳转的原理 从一个应用跳转到另一个应用,作为APP开发者,最熟悉的莫过于第三方登录,支付宝,微信支付时,那时候我们可能仅仅按照集成文档一步一步操作,在文档中配置很多类似URL Schemes
honey缘木鱼
2018/07/05
2.7K0
git比较两个版本之间的区别
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113106.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/07
1.3K0
点击加载更多

相似问题

两个表之间的关系:建立两个表之间的关系

23

如何在两个表之间建立关系

118

如何在两个表之间建立关系?

12

如何在sql中建立两个表之间的关系

22

建立两个事实表之间的关系模型

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文