我之前问过这个问题,但是;我现在可以将名称或ID分配给标签单选按钮。我之前无法做到这一点,并且造成了一团糟。各种各样的人试图帮助,但我做了一个完整的东西(对不起)。使用jQuery显示/隐藏基于单选按钮选择的DIV
WHMCS的问题在于编辑内容时非常有限,当你在盒子外面思考时。在这里所描述
单选按钮/标签:
<label id="{$options.nameonly}" name="{$options.nameonly}" >
<input type="radio" name="configoption[{$configoption.id}]" value="{$options.id}"{if $configoption.selectedvalue eq $options.id} checked="checked"{/if} />
{if $options.name}
{$options.name}
{else}
{$LANG.enable}
{/if}
</label>
忽略,我使用相同的ID和姓名两次的事实。这只是为了表明我可以将它们命名为两者(事实并非如此)。我将删除其中的一个,这取决于这种情况最适合使用哪种方式。
这个名为{$ options.nameonly}的变量可以是我通过WHMCS添加的各种东西。
比方说,{$ options.nameonly}包括了3点可能的选择(单选按钮):
- 没有备份用在专业备份所有
- 每周备份
- 与专业的备份 每月备份
在这种情况下,标签ID /名称显然是上述之一。
现在我想基于任何3个以上的选择显示一个DIV:
- <div id="weeklymsg">Weekly backup information</div>
- <div id="monthlymsg">Monthly backup information</div>
- And don't show a DIV when 'No backups at all' option is selected
我试过几件事情要得到这个工作,但是我能做到是使一个DIV最好的出现,但不消失了。
我想用类似这个东西给我的情况:
$("label[name='Weekly backups with professional backup']").click(function(){
$('input[type=radio]').parent().next('div').hide();
if ($(this).is(':checked'))
{
var value = $(this).val();
$('#'+value).fadeIn();
}
else
{
var value = $(this).val();
$('#'+value).fadeOut();
}
});
如果你知道一个更好的解决方案或有更好的主意,请做好份额。
我也不知道什么是更好的一般;定位标签ID还是标签名称?或者这不重要?
如果您需要更多信息或详细信息,请让我知道。我已经很欣赏这样一个事实,即你仍在阅读。 :)
旁注;如果你还没有注意到它,ID /名称之间会有空格,例如:“每周备份与专业备份”
更新:添加了一个简单的JSFiddle here。
--------------------------------------------- ------------ UPDATE ------------------------------------- ----------------------
好的,据我所知,问题是由“iradio_square-blue”造成的。无论出于何种原因,这使DIV在选择选项时不显示。
我使用textcrawler搜索了所有文件,发现它也位于.js文件中(两次)。
首先occassion是在这里:
jQuery('input').iCheck({
inheritID: true,
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%'
});
二occassion是在这里:
jQuery.post("cart.php", 'a=cyclechange&ajax=1&i='+i+'&billingcycle='+billingCycle,
function(data) {
jQuery("#productConfigurableOptions").html(jQuery(data).find('#productConfigurableOptions').html());
jQuery('input').iCheck({
inheritID: true,
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%'
});
}
);
也有在为 “iradio_square蓝色的”,但是我不相关的.css文件一些点击不要以为这些都是问题所在。但我确实认为.js中的上述2个条目导致DIV的问题?
补充说明:我现在很确定,这2件在base.js是造成问题,因为当我删除它们(测试),它的工作原理100%。它显示并隐藏DIV的。所以任何人都知道这个......的解决方法?
是不是p可以创建小提琴以获得更清晰的画面。 –
添加了一个简单的JSFiddle。希望这个对你有帮助?并感谢您的采访。 :) – Joanne
http://jsfiddle.net/kishoresahas/r0xpwg1h/2/这是你所期望的吗? –