0
因此,我正在制定一個決策樹,它只是從一個區域移動到另一個區域,我只有兩個項目會影響到出來,但它們被用在9個不同的區域。jQuery決策樹,是否有比這更便攜的方式?
第一個是任務(a),第二個是材料(b),材料可以從一個部分更改爲下一個部分。
所以prj1> A + B = C
但可以在一個項目中有很多任務,所以
A1 + B1 = C A2 + B2 = C
等
現在我正在使用該任務將展開下一個手風琴,該手風琴將具有一組新的單選按鈕,每次任務更改選擇時都必須複製該按鈕。當這個改變時,我不得不重寫我的jQuery,並且因爲這是很多代碼,我希望有一組新的眼睛告訴我是否有這樣做的方式。
我的單選按鈕看起來像這樣...
<form id="first-metalE">
<input class="first-metal" type="radio" name="firstE" value="1"> Copper<br>
<input class="first-metal" type="radio" name="firstE" value="2"> Brass<br>
<input id="alum-e" type="radio" name="firstE" value="8"> Aluminum<br>
<input id="stain-e" type="radio" name="firstE" value="4"> Stainless Steel
</form>
<form id="second-metalE">
<input class="second-metal" type="radio" name="secondE" value="1"> Copper<br>
<input class="second-metal" type="radio" name="secondE" value="2"> Brass<br>
<input id="alum-e-two" type="radio" name="secondE" value="8"> Aluminum<br>
<input id="stain-e-two" type="radio" name="secondE" value="4"> Stainless Steel
</form>
和我的jQuery看起來像這樣...
function setMetalElectric() {
// get value from the first radio button group and convert to number
var firstmtlE = $('input[name=firstE]:checked', '#first-metalE').val()*1;
// get value from the second radio button group and convert to number
var secondmtlE = $('input[name=secondE]:checked', '#second-metalE').val()*1;
// add results from first and second radio group
var mtlselectionE = firstmtlE + secondmtlE;
// P1
if ((mtlselectionE == 2) || (mtlselectionE == 3) || (mtlselectionE == 4)) {
alert(' directs to E1 ');
$('#metal-select').data('toggle', '#elec-cat-copperBrass');
$('.prd-back').data('toggle', '#elec-cat-copperBrass');
$('.attr-bck-to-mtl').data('toggle', '#electric-mtl');
// P2
} else if ((mtlselectionE ==5) || (mtlselectionE ==6) || (mtlselectionE ==8)) {
alert(' directs to E2 ');
$('#metal-select').data('toggle', '#elec-cat-stainles');
$('.plum-prd-back').data('toggle', '#elec-cat-stainles');
$('.attr-bck-to-mtl').data('toggle', '#electric-mtl');
// P3
} else if ((mtlselectionE ==9) || (mtlselectionE ==10) || (mtlselectionE ==16)) {
alert(' directs to E3 ');
$('#metal-select').data('toggle', '#elec-cat-alum');
$('.plum-prd-back').data('toggle', '#elec-cat-alum');
$('.attr-bck-to-mtl').data('toggle', '#electric-mtl');
// errors
} else if ((mtlselectionE ==12)) {
alert(' Error ');
} else if ((mtlselectionE !=2,3,4,5,6,8,9,10,16)) {
alert(' You didnt select two metals ');
} else { alert('something is wrong')} ;
};
這是所有工作,我只是想,必須有一個更簡單的方法,我已經使用了很多data-target =「」和jQuerys .data(),但是這個讓我想知道是否有更簡單的方法。
看起來像一個體面的想法,我將不得不看看開關,以及如何使用它,並嘗試應用到我的情況。謝謝! – phlipinmi 2014-09-05 14:06:40
完成此工作後,我工作了另一個決策樹並使用了開關,您說得對,它工作得非常好,我能夠開發出高效的工作。 – phlipinmi 2014-09-28 23:59:08