简体   繁体   English

使用jquery更改表值

[英]Change table value using jquery

I am trying to change the value of an td value with the button that is clicked.. I have tried a couple of ways but none have worked. 我试图用点击的按钮更改td值的值。我尝试了几种方法,但没有一种方法有效。 If user click Show USD button column show only USD values, If user click GBP column should show GBP values. 如果用户单击Show USD按钮列仅显示USD值,如果用户单击GBP列应显示GBP值。 I don't know this this is correct way to do this. 我不知道这是正确的方法。 Any help highly appreciated. 任何帮助高度赞赏。

 $('.btn-usd').on('click', function(){ $("cu-usd").removeClass(hide); $("cu-gbp").addClass(hide); }); $('.btn-gbp').on('click', function(){ $("cu-gbp").removeClass(hide); $("cu-usd").addClass(hide); }); 
 .hide { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="btn-usd">show USD</div> <div class="btn-gbp">show GBP</div> <table> <tbody> <tr> <td> <div class="cu-usd">$10</div> <div class="cu-gbp">£7.10</div> </td> <td> <div class="cu-usd">$20</div> <div class="cu-gbp">£14.20</div> </td> <td> <div class="cu-usd">$30</div> <div class="cu-gbp">£21.30</div> </td> <td> <div class="cu-usd">$40</div> <div class="cu-gbp">£28.10</div> </td> </tr> </tbody> </table> <table> <tbody> <tr> <td> <div class="cu-usd">$100</div> <div class="cu-gbp">£70.10</div> </td> <td> <div class="cu-usd">$200</div> <div class="cu-gbp">£140.20</div> </td> <td> <div class="cu-usd">$300</div> <div class="cu-gbp">£210.30</div> </td> <td> <div class="cu-usd">$400</div> <div class="cu-gbp">£280.10</div> </td> </tr> </tbody> </table> 

There are 2 problems 有两个问题

  1. Class selector starts with . 类选择器以.
  2. hide is a string must be in quotes hide是一个必须在引号中的字符串

Following will work 以下将有效

 $('.btn-usd').on('click', function(){
        $(".cu-usd").removeClass("hide");
        $(".cu-gbp").addClass("hide");
    });
    $('.btn-gbp').on('click', function(){
        $(".cu-gbp").removeClass("hide");
        $(".cu-usd").addClass("hide");
    });

 $(".cu-usd").removeClass('hide'); $(".cu-gbp").addClass('hide'); $('.btn-usd').on('click', function(){ $(".cu-usd").removeClass('hide'); $(".cu-gbp").addClass('hide'); }); $('.btn-gbp').on('click', function(){ $(".cu-gbp").removeClass('hide'); $(".cu-usd").addClass('hide'); }); 
 .hide { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="btn-usd">show USD</div> <div class="btn-gbp">show GBP</div> <table> <tbody> <tr> <td><div class="cu-usd">$10</div><div class="cu-gbp">£7.10</div></td> <td><div class="cu-usd">$20</div><div class="cu-gbp">£14.20</div></td> <td><div class="cu-usd">$30</div><div class="cu-gbp">£21.30</div></td> <td><div class="cu-usd">$40</div><div class="cu-gbp">£28.10</div></td> </tr> </tbody> </table> <table> <tbody> <tr> <td><div class="cu-usd">$100</div><div class="cu-gbp">£70.10</div></td> <td><div class="cu-usd">$200</div><div class="cu-gbp">£140.20</div></td> <td><div class="cu-usd">$300</div><div class="cu-gbp">£210.30</div></td> <td><div class="cu-usd">$400</div><div class="cu-gbp">£280.10</div></td> </tr> </tbody> </table> 

 $('.btn-usd').on('click', function() { $(".cu-usd").removeClass('hide');//missing . $(".cu-gbp").addClass('hide');//missing . }); $('.btn-gbp').on('click', function() { $(".cu-gbp").removeClass('hide');//missing . $(".cu-usd").addClass('hide');//missing . }); 
 .hide { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="btn-usd">show USD</div> <div class="btn-gbp">show GBP</div> <table> <tbody> <tr> <td> <div class="cu-usd">$10</div> <div class="cu-gbp">£7.10</div> </td> <td> <div class="cu-usd">$20</div> <div class="cu-gbp">£14.20</div> </td> <td> <div class="cu-usd">$30</div> <div class="cu-gbp">£21.30</div> </td> <td> <div class="cu-usd">$40</div> <div class="cu-gbp">£28.10</div> </td> </tr> </tbody> </table> <table> <tbody> <tr> <td> <div class="cu-usd">$100</div> <div class="cu-gbp">£70.10</div> </td> <td> <div class="cu-usd">$200</div> <div class="cu-gbp">£140.20</div> </td> <td> <div class="cu-usd">$300</div> <div class="cu-gbp">£210.30</div> </td> <td> <div class="cu-usd">$400</div> <div class="cu-gbp">£280.10</div> </td> </tr> </tbody> </table> 

Missing . 失踪. in class name 在班级名称

There are some problems with your code. 您的代码存在一些问题。

$('.btn-usd').on('click', function(){
  $(".cu-usd").removeClass('hide');
  $(".cu-gbp").addClass('hide');
});
$('.btn-gbp').on('click', function(){
 $(".cu-gbp").removeClass('hide');
 $(".cu-usd").addClass('hide');
});

Use . 使用. operator for class element and wrap hide in quotes as it is passed as string. class元素的运算符和wrap在引号中隐藏,因为它作为字符串传递。

Also to optimize take out $(".cu-usd") and $(".cu-gbp") in variables. 还要优化在变量中取出$(".cu-usd")$(".cu-gbp")

You can also do it with .hide() and .show() and don't have to assign a class. 您也可以做到这一点.hide().show()没有指定一个类。 The result is the same. 结果是一样的。

and as mentioned before missing . 并且如前所述. in classname. 在classname中。 But I think that you know that by now. 但我想你现在已经知道了。

  $('.btn-usd').on('click', function(){ $(".cu-usd").show(); $(".cu-gbp").hide(); }); $('.btn-gbp').on('click', function(){ $(".cu-gbp").show(); $(".cu-usd").hide(); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="btn-usd">show USD</div> <div class="btn-gbp">show GBP</div> <table> <tbody> <tr> <td><div class="cu-usd">$10</div><div class="cu-gbp">£7.10</div></td> <td><div class="cu-usd">$20</div><div class="cu-gbp">£14.20</div></td> <td><div class="cu-usd">$30</div><div class="cu-gbp">£21.30</div></td> <td><div class="cu-usd">$40</div><div class="cu-gbp">£28.10</div></td> </tr> </tbody> </table> <table> <tbody> <tr> <td><div class="cu-usd">$100</div><div class="cu-gbp">£70.10</div></td> <td><div class="cu-usd">$200</div><div class="cu-gbp">£140.20</div></td> <td><div class="cu-usd">$300</div><div class="cu-gbp">£210.30</div></td> <td><div class="cu-usd">$400</div><div class="cu-gbp">£280.10</div></td> </tr> </tbody> </table> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM