0
我有一组单选按钮来控制一组div容器。当单击一个单选按钮时,它会打开相应的div并隐藏所有其他的div。使用jQuery显示和隐藏div并添加/清除div内容
jQuery函数通过控制CSS来实现。
在jQuery函数内部,我还从另一个div中添加HTML。
问题是,当通过单选按钮进行切换时,某些div内容会被复制。如果我点击,然后再次点击,它会再次复制。
我希望有一个更好的方法来做到这一点,使它看起来更干净,也不重复的HTML内容。
这是我的代码:
var questionCounter = 1;
var parentId;
var answerHTML;
$(function() {
$('[name=RadioButtonClicked]').click(function() {
$('#' + $(this).attr('class')).fadeIn().siblings('div').hide();
questionCounter = 1;
var RadioButtonClicked = $(this).attr("id");
var newTextBoxDiv = $("<div>").attr("id");
if (RadioButtonClicked == 'radBoxA') {
parentId = "#BoxA";
$("#BoxA").css("display", "block");
$("#BoxB").css("display", "none");
$("#BoxC").css("display", "none");
$("#BoxD").css("display", "none");
answerHTML = $("#BoxA_Answer").html();
} else if (RadioButtonClicked == 'radBoxB') {
parentId ="#BoxB";
$("#BoxB").css("display", "block");
$("#BoxA").css("display", "none");
$("#BoxC").css("display", "none");
$("#BoxD").css("display", "none");
answerHTML = $("#BoxB_Answer").html();
} else if (RadioButtonClicked == "radBoxC") {
parentId = "#BoxC";
$("#BoxC").css("display", "block");
$("#BoxB").css("display", "none");
$("#BoxA").css("display", "none");
$("#BoxD").css("display", "none");
answerHTML = $("#BoxC_Answer").html();
} else {
parentId = "#BoxD";
$("#BoxD").css("display", "block");
$("#BoxB").css("display", "none");
$("#BoxA").css("display", "none");
$("#BoxC").css("display", "none");
answerHTML = $("#BoxD_Answer").html();
}
newTextBoxDiv.remove();
newTextBoxDiv.html(answerHTML);
$(parentId).append(newTextBoxDiv);
questionCounter++;
})
//.filter(':checked').click();
});
由于使用的
你可以发布你的HTML?或者更好的是,一个jsfiddle? – cfs 2013-05-10 19:01:55