select オプションはデータベースに従って選択されますが、その対処方法

WBOY
リリース: 2016-06-13 11:57:57
オリジナル
977 人が閲覧しました

データベースに従って
を選択します。次のコードを書きました。
<script><br> function setSelectByValue(domSelect,strVal){<br> var opts = domSelect.options;<br> for( var i= 0,j=opts.length;i<j></j> if(opts[i].value===strVal){<br> return domSelect.selectedIndex=i;<br> }<br> } <br> }<br> setSelectByValue(document.getElementById('paid_type'),'1');<br> </script>
これにより、選択値 1 のオプションが正しく表示されます。次に、データベースにクエリを実行します。取得した値を次のように代入します。
<script><br> function setSelectByValue(domSelect,strVal){<br> var opts = domSelect.options;<br> for(var i =0,j=opts.length ;i<j></j> if(opts[i].value===strVal){<br> return domSelect.selectedIndex=i;<br> }<br> }<br> }<br> setSelectByValue(document.getElementById('paid_type'),'<?php echo ($row[11])?>');<br> </script>
< ;?php echo ($row[ 11])?>出力は 1 でテスト済みですが、選択ボックスは応答しません。何が問題ですか?
------解決策---------
現在ブラウザーを使用しています: ソース ファイルを表示
------解決策--------------------------------
私シミュレーションしてみたら大丈夫でした。

<br /><?php<br />$row[11] = 1;<br />?><br /><br /><select id="paid_type"><br />    <option value="0">0</option><br />    <option value="1">1</option><br />    <option value="2">2</option><br />    <option value="3">3</option><br /></select><br /><br /><script><br />function setSelectByValue(domSelect,strVal){<br />    var opts = domSelect.options;<br />    for(var i=0,j=opts.length;i<j;i++){<br />        if(opts[i].value===strVal){<br />        return domSelect.selectedIndex=i;<br />        }<br />}<br />}<br />setSelectByValue(document.getElementById('paid_type'),'<?php echo ($row[11])?>');<br /></script><br />
ログイン後にコピー


それでもできない場合は、ループ本体で opts[i] を出力し、それを strVal の値と比較して、問題がどこにあるかを確認できます。
------解決策---------
参考までに、私の実装は次のとおりです:
JavaScript コード:
<br />case 'str':<br />                eq_select1=op=='eq'?'selected':'';<br />                eq_select2=op=='neq'?'selected':'';<br />                eq_select3=op=='include'?'selected':'';<br />                eq_select4=op=='not_include'?'selected':'';<br />            result="<select name='op'><option value='eq' "+eq_select1+">等于</option><option value='neq' "+eq_select2+">不等于</option><option value='include' "+eq_select3+">包含</option><option value='not_include' "+eq_select4+">不包含</option></select>";<br />
ログイン後にコピー


テストに合格しました。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート