我认为我已经弄清楚了逻辑;但是,我得到的输出是第一个被发现为真的IF语句。为了先了解逻辑并在显示警告框之前找到正确的输出,我是否需要使用switch语句?
如果是这样,这看起来像什么?我一直在进行尽职调查,似乎无法弄清楚转换声明如何适用于我的情况。
function get_recommendation() {
var ES = "Everyday Solutions";
var IL = "ILAB";
var SP = "Spark";
var IT = "IT Innovation";
$(document).ready(function() {
//If Opco is checked, and both ES are checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#Yes1').is(':checked')) && ($('#Yes2').is(':checked'))) {
var case1 = alert("Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL + " or " + SP);
}
//If Opco is checked, both ES are checked yes, and ILAB is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#Yes1').is(':checked')) && ($('#Yes2').is(':checked')) && ($('#Yes3').is(':checked'))) {
var case2 = alert("Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL);
}
//If Opco is checked, both ES are checked yes, ILAB is checked no, and Spark is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#Yes1').is(':checked')) && ($('#Yes2').is(':checked')) && ($('#No3').is(':checked')) && ($('#Yes4').is(':checked'))) {
var case3 = alert("Primary Recommendation: " + ES + "\n Secondary Recommendation: " + SP);
}
//If Opco is checked, both ES are checked yes, ILAB is checked yes, and Spark is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#Yes1').is(':checked')) && ($('#Yes2').is(':checked')) && ($('#Yes3').is(':checked')) && ($('#Yes4').is(':checked'))) {
var case4 = alert("Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL + " or " + SP);
}
//If Opco is checked, both ES are checked no, and ILAB is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#No1').is(':checked')) && ($('#No2').is(':checked')) && ($('#Yes3').is(':checked'))){
var case5 = alert("Primary Recommendation: " + IL + "\n Secondary Recommendation: " + SP);
}
//If Opco is checked, both ES are checked no, ILAB is checked yes, and Spark is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#No1').is(':checked')) && ($('#No2').is(':checked')) && ($('#Yes3').is(':checked')) && ($('#Yes4').is(':checked'))){
var case6 = alert("Primary Recommendation: " + IL + " or " + SP);
}
//If Opco is checked, both ES are checked no, Spark is checked yes
if (($('input[name="opco"]:checked').length > 0) && ($('#No1').is(':checked')) && ($('#No2').is(':checked')) && ($('#Yes4').is(':checked'))){
var case7 = alert("Primary Recommendation: " + SP);
}
//If IT is checked yes
if ($('#Yes5').is(':checked')) {
var case8 = alert("Primary Recommendation: " + IT);
}
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!---------------------------------------------------------Operating Company Question----------------------------------->
<form name="operatingCompany">
<h3>What Operating Company Are You Employeed With?</h3>
<input type="radio" name="opco" id="GPC" value="GPC">GPC</br>
<input type="radio" name="opco" id="APC" value="APC">APC</br>
<input type="radio" name="opco" id="MPC" value="MPC">MPC</br>
<input type="radio" name="opco" id="Gulf" value="Gulf">Gulf</br>
<input type="radio" name="opco" id="SCS" value="SCS">SCS</br>
</br>
<input type="button" value="Display User Selection" onclick=get_opco() />
</form>
<p id="opco_result"> </p>
</br>
<!---------------------------------------------------------Prototyped Question----------------------------------->
<form name="prototyped">
<h3>Has the innovation been prototyped?</h3>
<input type="radio" name="prototyped" id="Yes1" value="Yes">Yes</br>
<input type="radio" name="prototyped" id="No1" value="No">No</br>
</br>
<input type="button" value="Display User Selection" onclick=get_prototype() />
</form>
<p id="prototyped_result"> </p>
</br>
<!--------------------------------------------------------Adopted or Tested Question---------------------------->
<form name="adopted_tested">
<h3>Has the innovation been adobpted or tested?</h3>
<input type="radio" name="adopt" id="Yes2" value="Yes">Yes</br>
<input type="radio" name="adopt" id="No2" value="No">No</br>
</br>
<input type="button" value="Display User Selection" onclick=get_adopt_test() />
</form>
<p id="adopted_tested_result"> </p>
</br>
<!------------------------------------------------------Can it make money Question------------------------------->
<form name="makeMoney">
<h3>Is this a product or service that can make money?</h3>
<input type="radio" name="money" id="Yes3" value="Yes">Yes</br>
<input type="radio" name="money" id="No3" value="No">No</br>
</br>
<input type="button" value="Display User Selection" onclick=get_money() />
</form>
<p id="makeMoney_result"> </p>
</br>
<!---------------------------------------------------Alabama Power Specific Questions----------------------------->
<form name="alabamaPower">
<h3>Does your innovative idea help Alabama Power improve safety, grow revenue, reduce cost, or increase operational efficiency?</h3>
<input type="radio" name="apc" id="Yes4" value="Yes">Yes</br>
<input type="radio" name="apc" id="No4" value="No">No</br>
</br>
<input type="button" value="Display User Selection" onclick=get_alabamaPower() />
</form>
<p id="alabamaPower_result"> </p>
</br>
<!------------------------------------------------Explanation to prior question----------------------------------->
<h3>If yes, please explain</h3>
<textarea id="alabamaPower" rows="8" cols="50">
</textarea> </br>
</br>
<input type="button" value="Display User Input" onclick=textareacapture() />
<p id="result"> </p>
</br>
<!------------------------------------------------IT Specific Question------------------------------------------->
<form name="innovativeTechnology">
<h3>Is your innovation an innovative technology or process that boosts the company's productivity or brings additional value from a vendor relationship?</h3>
<input type="radio" name="innovative" id="Yes5" value="Yes">Yes</br>
<input type="radio" name="innovative" id="No5" value="No">No</br>
</br>
<input type="button" value="Display User Selection" onclick=get_innovative() />
</form>
<p id="innovativeTechnology_result"> </p>
</br>
<input type="button" value="Submit Form" onclick=get_recommendation() />
非常感谢您的帮助!
答案 0 :(得分:0)
您应该设置一个变量,而不是很多其他变量。并且在设置变量时不要调用alert()
。
var message;
if ($('input[name="opco"]:checked').length > 0) {
if ($('#Yes1').is(':checked') && $('#Yes2').is(':checked')) {
message = "Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL + " or " + SP;
}
//If Opco is checked, both ES are checked yes, and ILAB is checked yes
if ($('#Yes1').is(':checked') && $('#Yes2').is(':checked') && $('#Yes3').is(':checked')) {
message = "Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL;
}
//If Opco is checked, both ES are checked yes, ILAB is checked no, and Spark is checked yes
if ($('#Yes1').is(':checked') && $('#Yes2').is(':checked') && $('#No3').is(':checked') && $('#Yes4').is(':checked')) {
message = "Primary Recommendation: " + ES + "\n Secondary Recommendation: " + SP;
}
//If Opco is checked, both ES are checked yes, ILAB is checked yes, and Spark is checked yes
if ($('#Yes1').is(':checked') && $('#Yes2').is(':checked') && $('#Yes3').is(':checked') && $('#Yes4').is(':checked')) {
message = "Primary Recommendation: " + ES + "\n Secondary Recommendation: " + IL + " or " + SP;
}
//If Opco is checked, both ES are checked no, and ILAB is checked yes
if ($('#No1').is(':checked') && $('#No2').is(':checked') && $('#Yes3').is(':checked')) {
message "Primary Recommendation: " + IL + "\n Secondary Recommendation: " + SP;
}
//If Opco is checked, both ES are checked no, ILAB is checked yes, and Spark is checked yes
if ($('#No1').is(':checked') && $('#No2').is(':checked') && $('#Yes3').is(':checked') && $('#Yes4').is(':checked')) {
message = "Primary Recommendation: " + IL + " or " + SP;
}
//If Opco is checked, both ES are checked no, Spark is checked yes
if ($('#No1').is(':checked') && $('#No2').is(':checked') && $('#Yes4').is(':checked')) {
message = "Primary Recommendation: " + SP;
}
}
//If IT is checked yes
if ($('#Yes5').is(':checked')) {
message = "Primary Recommendation: " + IT;
}
if (message) {
alert(message);
}