2015-10-20 53 views
-1

中隨附的複選框更改生成的文本框可見性或啓用狀態我目前使用php來顯示一列有編號的複選框,一個給定月份的每一天和每個旁邊我顯示一個文本框進入可選給定的檢查日的註釋。我希望限制用戶只在顯示/隱藏基於相鄰複選框狀態的文本框或切換其禁用屬性時檢查天數。我使用php循環來顯示每天的表單元素,複選框被命名爲框[],文本框被命名爲comments []。我知道,在將記錄插入數據庫之前,我可以放棄未使用的輸入,但我不想讓用戶留下他們可以放置將在未選中日期保留的備註的印象。根據php

while ($day_count <= $num_days){ 


echo"<input name='boxes[]' type='checkbox' value='".$prov_id."_".$day_count."' />".$day_count."</input>"; 

    echo "Comment: <input name='comments[]' type='text' size='15' maxlength='255' />"; 
    echo "<br>"; 

$day_count++; 

}

+2

什麼是具體問題或問題? – charlietfl

+0

到目前爲止,我的最佳嘗試不會生成未勾選伴隨複選框時禁用的文本框。以下是最後的方法嘗試: –

+0

'而($ DAY_COUNT <= $ NUM_DAYS){ \t \t //回聲「「; \t \t \t回聲」 \t 「; \t echo「
」; \t $ day_count ++; }' –

回答

0

您可以通過添加當你的複選框被選中的是被炒魷魚的功能做在Javascript。看看這個堆棧溢出的答案如何做到這一點的例子:Javascript checkbox onChange

一旦那裏你可以改變你的評論框的顯示值這一點,雖然我推薦一個包裝div中的評論框並顯示/隱藏整個div。

由於PHP是服務器端,你不會是能夠使頁面爲用戶檢查的任何變化和PHP,只是使用Javascript取消選中的東西

爲了使特定的名稱,你可以使用任何謹慎值你有,你的情況:$ prov_id,與下面的僞代碼:

<div id='$prov_id'>Input text code here</div> 

然後在複選框您的onchange方法,通過該ID。

最後,對於JavaScript,只需選擇傳入參數的ID的div。 $('#id')

+0

我已經看過多個示例,並試圖將它們加入到我的代碼中,但我遇到了障礙,因爲我正在嘗試處理名爲諸如comments []之類的元素。 –

+0

有沒有辦法像評論框一樣引用以[]命名的div?或者以其他方式劃定我將在頁面上顯示的90個文本框div中的哪一個隱藏,哪些顯示?我發現的例子與單個或非生成的元素有關,而不是通過循環填充的元素,所以目前還不清楚如何將show/hide函數限制到確切的期望div。 –

+0

更新了上面的編輯,希望這已經足夠清晰,讓你走上正路,但如果不是,請讓我知道 – DaOgre