雙層下拉選單選擇後第一層沒問題不會跳掉
但第二層不知道為什麼都會跳掉(明明網址列上有顯示值),如圖
(選擇備料)
(跳回請選擇...)
(程式碼)
看了好久的程式碼,還是不知道錯在哪裡
請各位大大幫幫忙,謝謝!
這段怪怪的,
這兩行應該只差一個selected而已,
為什麼連值都不一樣了,
另外 $s != null其實可以先放前面,
&&的判斷只要一個不成立就不會再往下判斷,
如果null就不用再判斷下一個條件了.
積少成多可以加強程式效率.
對!剛剛都改成1了
但結果一樣...
補充一下那個if{...}else{...}可以縮寫成一行
echo '<option value="'.$row[1].'" '.(($s!=null&&$s==$row[1])?'selected':'').'>'.$row[1].'</option>\n';
我都喜歡分開寫 XD
我覺得這樣比較清楚...
你意思是說 沒有workshop的時候是對的,
有workshop的時候是錯的 嗎?
看了半天還是搞不清楚你在問什麼...
其實你需要做很多動作去抓蟲,
1.通過直接看顯示出來的原始碼
2.通過php的echo
3.通過alert
4.通過console.log
通過各種方式去看結果和你的盼望有沒有一樣,
從而找出問題發生的地方,
再去尋找解決方案.
因為這裡if{}else{}其實就是判斷符合條件的option標籤項目加上'selected'屬性
而option不管有沒有符合條件一定是要列出來的
這樣縮成一行是有減少重覆寫一次echo option tag跟讓結構單純化的用義...
ccutmis
什麼時候學會擲杯的?
補充一下,
以你的情況,
正常來說,
value會放$row[0],
而text會放$row[1].
看不懂value跟text的話,
簡單說上面的例子,
前面放$row[0], 後面放$row[1].
小魚
我也覺得value放$row[0]比較合理,
那之前的demo code就要改成
echo '<option value="'.$row[0].'" '.(($s!=null&&$s==$row[0])?'selected':'').'>'.$row[1].'</option>\n';
謝謝~