$options1 = array( 1=>'= Equals', '≠ Does not Equal', '> Is greater than', '≥ Is greater than or equal to', '< Is less than', '≤ Is less than or equal', '∋ Contains', '∌ Does not contain');
<select name="entry_id_selector[]">';
foreach ( $options1 as $i1=>$opt1 ) :
echo '<option value="' .$i1 .'"'
.($i1 == $entry_id_selector_topic) .'? "selected" : "">'
.$opt1 .'</option>';
endforeach;
echo '</select>';
$entry_id_selector_topic = $_POST['entry_id_selector'];
这段代码.($i1 == $entry_id_selector_topic) .'? "selected" : ""
默认值为= Equals
例如,用户选择> Is greater than
,然后单击“发布”按钮,页面重新加载。我希望在下拉菜单中选中并显示值> Is greater than
hovewer selected是默认值。
更改为此.($i1 == $entry_id_selector_topic) .'? selected="selected" : "">'
始终从阵列∌ Does not contain
更新。最后得到解决方案起初不明白为什么$entry_id_selector_topic[0]
并不总是显示$options1
中的第一项。
但是当我从下拉菜单中选择一些值并单击提交按钮时,$entry_id_selector_topic = $_POST['entry_id_selector'];
唯一存在的值是我从下拉菜单中选择的值。所以在$entry_id_selector_topic
中有一个新数组,只有一个项[0]。
现在看来问题很清楚。
答案 0 :(得分:2)
此代码有效
echo '<td><select name="entry_id_selector[]" onmousedown="SetWidthToAuto(this)">';
foreach ( $options1 as $i1=>$opt1 ) :
echo '<option value="' .$i1 .'"'
.(($i1 == $entry_id_selector_topic[0])? 'selected' : "") .'>'
.$opt1 .'</option>';
endforeach;
echo '</select></td>';
我只对$entry_id_selector_topic[0]
答案 1 :(得分:1)
我认为它应该是:
($i1 == $entry_id_selector_topic)?"selected" : ""
如果该条件为真,则返回&#34;选择&#34;否则它将返回&#34;&#34; 。
答案 2 :(得分:1)
echo '<option value="'.($i1 == $entry_id_selector_topic) ? "selected" : "".'>'.$opt1 .'</option>';
试试这个