Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击jQuery提取数组值_Jquery_Arrays_Loops_Object_Extraction - Fatal编程技术网

单击jQuery提取数组值

单击jQuery提取数组值,jquery,arrays,loops,object,extraction,Jquery,Arrays,Loops,Object,Extraction,尝试使用extractAssets()实现以下功能: 当单击.clickable提取资产(列出[i].assets)值本身为0(类似于列出[i].assets-lists[i].assets) 正如您可能看到的,我不是在提取,而是在执行一个.html($0),因此需要动态提取 工作小提琴的例子是赞赏,谢谢你 var列表1={ id:7, 资产:74651.90, 比率百分比:0.02, 费率美元:24.03 }; 变量列表2={ id:8, 资产:86735.79, 税率百分比:-0.0

尝试使用
extractAssets()实现以下功能:

  • 当单击
    .clickable
    提取资产
    (列出[i].assets)
    值本身为0(类似于
    列出[i].assets-lists[i].assets
正如您可能看到的,我不是在提取,而是在执行一个.html($0),因此需要动态提取

工作小提琴的例子是赞赏,谢谢你

var列表1={
id:7,
资产:74651.90,
比率百分比:0.02,
费率美元:24.03
};
变量列表2={
id:8,
资产:86735.79,
税率百分比:-0.06,
费率美元:2.41
};
var list=[list1,list2];
$(文档).ready(函数(){
show();
提取资产();
});
功能提取资产(){
对于(变量i=0;i'+lists[i].id+'

  • $'+lists[i].assets+'
  • '+lists[i].ratePercent.toFixed(2)+'%/$'+lists[i].rateUSD.toFixed(2)+'; } }

  • 对于我来说,使用数据作为参考,而使用html dom元素进行操作似乎有点奇怪。我几乎不向我们推荐模板语言。无论如何。。。根据您的实际代码,我将更新以下内容:

    function extractAssets() {
        $(".clickable").click(function(){
            var currentCoin = $(this).find('.coin');
          var difference = (Number($(currentCoin).text().replace('$','')) - Number($(currentCoin).text().replace('$','')));
          $(currentCoin).html('$' + difference);
            });
    }
    
    function show() {
      for (var i = 0; i < lists.length; i++) {
        $(".DataContent").append('<div class="clickable"><p class="data">' + lists[i].id + '</p><ul><li class="coin">$' + lists[i].assets + '</li><li class="rate"><span class="ratePercent">' + lists[i].ratePercent.toFixed(2) + '%</span> / <span class="rateUSD">$' + lists[i].rateUSD.toFixed(2) + '</span></li></ul></div>');
      }
    }
    
    函数提取资产(){
    $(“.clickable”)。单击(函数(){
    var currentCoin=$(this.find('.coin');
    变量差异=(数字($(currentCoin).text().replace('$','')-Number($(currentCoin).text().replace('$','');
    $(currentCoin.html(“$”+差异);
    });
    }
    函数show(){
    对于(变量i=0;i'+lists[i].id+'

  • $'+lists[i].assets+'
  • '+lists[i].ratePercent.toFixed(2)+'%/$'+lists[i].rateUSD.toFixed(2)+'; } }
  • 请记住,这不会在最后格式化金额


    关于

    你能解释一下你到底想达到什么目的吗..现在有点不清楚了我很抱歉,在这种情况下,这基本上与小提琴中的行为完全相同,但与其在单击时通过.html($0)进行设置,不如自己提取单击的资产(例如,单击$86735.79,提取相同数量的资产(86735.79美元)这将导致0)请在这里发布您的代码,而不仅仅是在JSFIDLE。使用@Barmar,我添加了代码,希望有帮助?感谢您的时间。谢谢您的回答,Espino先生,但这不是我想要的。另外,是的,我同意,因此我在征求建议,我更喜欢真正的提取,而不是通过.html()设置0。过得愉快。嗯,你试过代码了吗?
    var difference=(Number($(currentCoin).text().replace($,'')-Number($(currentCoin).text().replace($,''))
    该行进行提取,而不是设置为0。您认为缺少什么?我的错,重新尝试粘贴所有内容,但似乎都正确,请给我几分钟时间完全调整它,我会将其标记为正确。感谢您的帮助和坚持:):D!没问题,很高兴为您提供帮助抱歉David,您是否有可能调整您所做的操作,但使用此更新?。它是相同的,但添加了
    .toFixed(2)。替换(/(\d)(?=(\d\d\d)+(?!\d))/g,“$1”,
    列表[i]。资产
    以提供货币格式,因此现在您的解决方案返回$NaN。我尝试了很多调整,但是没有,谢谢!