首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入值的jQuery toggleClass

输入值的jQuery toggleClass
EN

Stack Overflow用户
提问于 2012-02-21 13:10:24
回答 3查看 1.4K关注 0票数 1

我想根据文本输入的输入添加一个。我的问题是输入呈现所有类。以下是html部分:

代码语言:javascript
复制
<form name="imcForm" id="imc">
    <p>poids: <input type="text" name="poids" size="10"></p>
    <p>taille: <input type="text" name="taille" size="10"></p>
    <p><input type="button" id="calcul" value="Calculer" onClick="calculImc()"></p>
    <p>result : <input type="text" name="imc" size="10" id="imcResult"></p>
    <p>Interprétation: <input type="text" name="interpretation" size="25" id="interpretation"></p>
</form>

这里是javascript/jQuery

代码语言:javascript
复制
$('#calcul').on("click", function() {
    $("#interpretation:input[value=itemA]").toggleClass('a');
    $("#interpretation:input[value=itemB]").toggleClass('b');
    $("#interpretation:input[value=itemC]").toggleClass('c');
    $("#interpretation:input[value=itemD]").toggleClass('d');
    $("#interpretation:input[value=itemE]").toggleClass('e');
    $("#interpretation:input[value=itemF]").toggleClass('f');
    $("#interpretation:input[value=itemG]").toggleClass('g');
});

另外,查看呈现输入的内容:

代码语言:javascript
复制
<input type="text" id="interpretation" size="25" name="interpretation" class="denutrition normale moderee severe morbide">

那么,为什么每个元素在单击时接收到每个类呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-21 13:26:24

试试这个:

代码语言:javascript
复制
$('#calcul').on("click", function() {

    var target = $("#interpretation");
    var val =  target.val();
    var className = "";
    if(val == "itemA")                     
    {
        className = "a";
    }
    else if(val == "itemB")                     
    {
        className = "b";
    }
    else if(val == "itemC")                     
    {
        className = "c";
    }
    //............
    target.attr("class", className );
});
票数 0
EN

Stack Overflow用户

发布于 2012-02-21 13:19:12

在您的>输入的末尾缺少一个<button>

此外,您还可以大大简化所获得的代码,特别是如果类名始终是输入字段中的最后一个字母。

代码语言:javascript
复制
$('#calcul').on'click', function(){
    var class = $('#interpretation').val().slice(-1).toLowerCase();
    $('#interpretation').toggleClass(class);
});
票数 1
EN

Stack Overflow用户

发布于 2012-02-21 13:19:04

很难说清楚你在做什么。

但问题可能是有两个单击处理程序,一个来自jQuery,另一个来自“硬编码”:onClick="calculImc()"

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

https://stackoverflow.com/questions/9378184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档