2016-10-04 62 views
0

我有复选框,当我开始马林他们,出现一个股利。我怎样才能让div始终可见,而不仅仅是当复选框被标记时?如何显示DIV元素总是当复选框未标记

现场示例:https://www.advokatami.bg/poruchki/bundle/ - >我正在谈论复选框总计和总价格出现的div。

这是我认为的JavaScript负责显示/隐藏的元素:https://codeshare.io/HxNeQ

+1

它已经可见,但没有内容! –

+1

请直接分享一些代码到问题 –

+0

您正在动态添加元素,但div本身并未隐藏。为什么无论如何你想要这样的行为? –

回答

2

实现你的目标,你需要进行以下两个步骤:

1 - 显示你想要的DIV页面准备在JS的开头这样的内容:

jQuery(document).ready(function($) { 
//shows the cart content on page ready. 
var html = '<dl class="product-addon-totals"> 
       <dt>Checkboxes total:</dt> 
        <dd><strong><span class="amount">0 лв.</span></strong></dd> 
       <dt>Total price:</dt> 
        <dd><strong><span class="amount">0 лв.</span></strong></dd> 
      </dl>'; 

$.("#product-addons-total").html(html); 

然后,第二步骤是使相等的成本为0时,车被排空,而不是只除去div的全部内容。要做到这一点,你需要在JS找到调用函数empty()上线303307并通过以下几行代码替换这些:

var html = '<dl class="product-addon-totals"> 
        <dt>Checkboxes total:</dt> 
         <dd><strong><span class="amount">0 лв.</span></strong></dd> 
        <dt>Total price:</dt> 
         <dd><strong><span class="amount">0 лв.</span></strong></dd> 
       </dl>'; 

    $.("#product-addons-total").html(html); 

有,当然更清洁的方式做到这一点,我会让你编码,但这应该已经解决了你的问题。 ;)

0
<input type="checkbox" id="checkbox" /> <br />  
<div class ='detail_check show'> detail area<div> 


<style> 
.show { 
    display:block; 
} 
.hide { 
display:none; 
} 

</style> 

$(document).ready(function() { 

$('#checkbox').change(function() { 
    if($(this).is(":checked")) { 
     $('.detail_check')removeClass('show); 
     $('.detail_check')addClass('hide); 
    } else { 
     $('.detail_check')removeClass('hide); 
     $('.detail_check')addClass('show); 
    }  
}); 

});

你可以用简单的java的脚本& CSS代码做

2

你在谈论当一个复选框从您提供的代码208线检查被附加在div:

var html = '<dl class="product-addon-totals"><dt>' + woocommerce_addons_params.i18n_addon_total + '</dt><dd><strong><span class="amount">' + formatted_addon_total + '</span></strong></dd>'; 

所以你必须将复选框的div标记添加到您的静态html中,并且仅在通过定位元素span来检查复选框时更新价格。附件

0

这可能不是您的代码的最佳方法,但很高兴看到你也可以用css做这种东西。

+选择器直接检查span直接在/下的input

:checked只选择一个选中的元素。

input[type="checkbox"] + span { display: none; } 
 
input:checked + span { display: inline; }
<input type="checkbox"><span>Label</span>