我已經嘗試了一整天來做到這一點 - 並且也進行了搜索。Javascript:創建循環來對選中的複選框的結果進行協調
我有一個html格式的複選框。如果他們被選中,我需要立即concat並顯示值到一個單獨的文本區域。我的函數currenty工程,但我需要創建一個循環,因爲我不能確定複選框的數量,因爲它們是動態的。
我的功能如下。
<script type="text/javascript">
function combGenderSeekingGender() {
if (document.jomsForm.jsgenderseekinggender1.checked){
alert("input1 is checked");
var input1 = document.jomsForm.jsgenderseekinggender1.value;
}else{
alert("input1 is NOT checked");
var input1 = "";
}
if (document.jomsForm.jsgenderseekinggender2.checked){
alert("input2 is checked");
var input2 = document.jomsForm.jsgenderseekinggender2.value;
}else{
alert("input2 is NOT checked");
var input2 = "";
}
if (document.jomsForm.jsgenderseekinggender3.checked){
alert("input3 is checked");
var input3 = document.jomsForm.jsgenderseekinggender3.value;
}else{
alert("input3 is NOT checked");
var input3 = "";
}
if (document.jomsForm.jsgenderseekinggender4.checked){
alert("input4 is checked");
var input4 = document.jomsForm.jsgenderseekinggender4.value;
}else{
alert("input4 is NOT checked");
var input4 = "";
}
var tmpInput =input1 + "-" + input2 + "-" + input3 + "-" + input4;
document.jomsForm.jsgenderseekinggender.value = tmpInput.replace(/^[\s-]+|[\s-]+$/g,"");
}
</script>
這個函數被調用,以動態創建我的複選框,這樣一個循環:
$html .= '<input type="checkbox" onClick="combGenderSeekingGender()" id="jsgenderseekinggender'.$elementCnt.'" name="jsgenderseekinggender'.$elementCnt.'" value="'.$genderseekinggenderItem.'"/>';
一切工作正常,但我需要刪除的硬編碼的js的功能,創造一個純淨的循環。我能夠將elementCount傳遞給有助於設置極限的函數,但似乎無法得到循環的其餘部分,因爲我似乎可以定義動態變量名稱。
我基本上是我一直努力的這個變化:
function combGenderSeekingGender(numResults) {
var input=[];
for (ii=1;ii<=numResults;ii++){
if (document.jomsForm.jsgenderseekinggender[ii].checked){
alert("input"+ii+" is checked");
var input[ii] = document.jomsForm.jsgenderseekinggender[ii].value;
}else{
alert("input"+ii+" is NOT checked");
var input[ii] = "";
}
}
var tmpInput =input1 + "-" + input2 + "-" + input3 + "-" + input4;
document.jomsForm.jsgenderseekinggender.value = tmpInput.replace(/^[\s-]+|[\s-]+$/g,"");
}
當然,這更僞代碼比什麼都重要,因爲我知道它不是正確的方法T代碼它。任何意見,以獲得正確的語法,將不勝感激..
其中是複選框的值聲明? –
該值在變量$ genderseekinggenderItem中聲明,該變量由循環填充:foreach($ result as $ genderseekinggenderItem)。你可以在輸入標籤中看到它 – makenoiz