如果选中了输入,我需要仅显示
$(document).ready(function () {
$('#group_1 input').each(function () {
if ($(this).val() == ('23') && $(this).is(':checked')) {
$('#showtext').show();
} else {
$('#showtext').hide();
}
});
});
被呼叫的组在这里(PrestaShop 1.7.5.1):
{elseif $group.group_type == 'radio'}
<ul id="group_{$id_attribute_group}">
{foreach from=$group.attributes key=id_attribute item=group_attribute}
<li class="input-container float-xs-left">
<label class="accordion--form__label">
<input class="input-radio" type="radio" data-product-attribute="{$id_attribute_group}" name="group[{$id_attribute_group}]" value="{$id_attribute}"{if $group_attribute.selected} checked="checked"{/if}>
<span class="radio-label">{$group_attribute.name}</span>
</label>
</li>
{/foreach}
</ul>
{/if}
但是,我需要如果#group_1值24被选中或者什么都没有被选中>隐藏#showtext。 我不能有这个。怎么了?
我要隐藏/显示的值23的源代码是:
<input class="input-radio" type="radio" data-product-attribute="1" name="group[1]" value="23" checked="checked">
启用此功能后,必须隐藏div:
<input class="input-radio" type="radio" data-product-attribute="1" name="group[1]" value="24">
答案 0 :(得分:0)
您的单选按钮没有名为“ group_1”的ID,但其名称为“ group [1]”。在这种情况下,您可以使用jquery这样的名称进行访问。
<div class="container">
23 <input class="input-radio" type="radio" data-product-attribute="1" name="group[1]" value="23" checked >
24 <input class="input-radio" type="radio" data-product-attribute="1" name="group[1]" value="24">
<div id="showtext">This is what is to be shown or hidden</div>
</div>
<script>
$(document).ready(function () {
var radioValue = $("input[name='group[1]']:checked").val();
//alert(radioValue);
if(radioValue == '23') {
$('#showtext').show();
}
else {
$('#showtext').hide();
}
$("input[type='radio'][name='group[1]']").click(function() {
radioValue = $("input[name='group[1]']:checked").val();
//alert(radioValue);
if(radioValue == '23') {
$('#showtext').show();
}
else {
$('#showtext').hide();
}
});
});
</script>
希望这会有所帮助。
答案 1 :(得分:0)
好吧,现在的问题是:如果我检查输入24,然后单击输入23(现在可以看到div)以再次选择输入24,则div不会隐藏。 如果我单独使用该代码,效果很好,但是在PrestaShop product.tpl中,我遇到了这个问题。 “ showtext”保持可见。 您对可能的错误有任何想法吗?也许是表格购物车?
输入位于表单内部,div位于外部(因为在product-customization.tpl内部有另一个表单):
<form action="{$urls.pages.cart}" method="post" id="add-to-cart-or-refresh">
<input type="hidden" name="token" value="{$static_token}">
<input type="hidden" name="id_product" value="{$product.id}" id="product_page_product_id">
<input type="hidden" name="id_customization" value="{$product.id_customization}" id="product_customization_id">