我正在做的是建立一个表单,当你选择一个答案时,会弹出一堆新问题。
这是我的工作代码:
$(".appliedWorked").click(function(){ if($(this).val()==="appliedWorkedYes") $(".appliedWorkedYesHide").show("fast"); else $(".appliedWorkedYesHide").hide("fast"); });
它只适用于1类。 我想为很多课程做这个,所以我想我会把它粘在一个数组中。
这是我的许多课程的代码,但是当我在收音机盒上点击时它没有显示:
// storing an array of radio boxe class names var radioBoxArray = new Array( "appliedWorkedYes", "workStudyYes", "workHistoryYes", "workWeekEndsYes", "cprYes", "aedYes", "aidYes", "wsiYes", "gaurdYes" ); // looping over the radio box array, too use the show feature of jquery for(var j = 0; j < radioBoxArray.length; j++){ // class name $("."+radioBoxArray[j]).click(function(){ // value box if($(this).val()==='"+radioBoxArray[j]+"') // show method $("."+radioBoxArray[j]+"Hide").show("fast"); // hide else else $("."+radioBoxArray[j]+"Hide").hide("fast"); }); }
我认为问题是:
if($(this).val()==='"+radioBoxArray[j]+"')
请帮忙!
我尝试了以下但是当我点击一个方框时不会显示:
if($(this).val()=== radioBoxArray[j]) if($(this).val()=== String( radioBoxArray[j] )) if($(this).val()==='"'+radioBoxArray[j]+'"')
查看问题中突出显示的语法。 在
if($(this).val()==='"+radioBoxArray[j]+"')
该测试的右侧只是字符串'"+radioBoxArray[j]+"'
。 删除所有这些引号。
if($(this).val() === radioBoxArray[j])
其他清理:
最终代码可以像这样清理:
var radioBoxArray = [ "appliedWorkedYes", "workStudyYes", "workHistoryYes", "workWeekEndsYes", "cprYes", "aedYes", "aidYes", "wsiYes", "gaurdYes" ], len = radioBoxArray.length, radio; for (var j = 0; j < len; j++) { radio = radioBoxArray[j]; // class name $("." + radio).click(function() { $("." + radio + "Hide").toggle($(this).val() === radio); }); }
或者,您可以使用$.each()
:
var radioBoxArray = [ "appliedWorkedYes", "workStudyYes", "workHistoryYes", "workWeekEndsYes", "cprYes", "aedYes", "aidYes", "wsiYes", "gaurdYes" ]; $.each(radioBoxArray, function(i, v) { $("." + v).click(function() { $("." + v+ "Hide").toggle($(this).val() === v); }); });
试试这个:
var radioBoxArray = [ "appliedWorked", "workStudy", "workHistory", "workWeekEnds", "cpr", "aed", "aid", "wsi", "gaurd" ]; $.map(radioBoxArray, function(cls) { $('.' + cls).click(function() { // value box if($(this).val()===cls + 'Yes') // show method $("."+cls+"YesHide").show("fast"); // hide else else $("."+cls+"YesHide").hide("fast"); }); });
希望能帮助到你!
if($(this).val()==='"+radioBoxArray[j]+"') is not correct
尝试
if($(this).val()=== radioBoxArray[j])
要么
if($(this).val()=== String( radioBoxArray[j] ))
希望有所帮助
将其更改为:
if($(this).val()==='"'+radioBoxArray[j]+'"')
以上就是jQuery教程分享Javascript / Jquery:根据Radio框选择显示隐藏的div相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/524249.html