我正在创建我的页面构建器,但我对选择框没什么问题。
这就是我通过jQuery
创建选择框的方法 var item_opts = '<select>'
+ '<option value="red">Red</option>'
+ '<option value="green">Green</option>'
+ '<option value="blue">Blue</option>'
+ '<option value="yellow">Yellow</option>'
+ '</select>'
$('.items_options').append(item_opts);
这就是我在PHP中的称呼
<select>
<?php if ( $pb_item['message_color'] == "red" ) { ?>
<option selected="selected" value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
<option value="yellow">Yellow</option>
<?php } elseif ( $pb_item['message_color'] == "green" ) { ?>
<option value="red">Red</option>
<option selected="selected" value="green">Green</option>
<option value="blue">Blue</option>
<option value="yellow">Yellow</option>
<?php } elseif ( $pb_item['message_color'] == "blue" ) { ?>
<option value="red">Red</option>
<option value="green">Green</option>
<option selected="selected" value="blue">Blue</option>
<option value="yellow">Yellow</option>
<?php } else { ?>
<option value="red">Red</option>
<option value="green">Green</option>
<option value="blue">Blue</option>
<option selected="selected" value="yellow">Yellow</option>
<?php } ?>
</select>
是否有一些更好的解决方案如何将“选定”参数添加到所选选项中?
你的时间和建议:)
答案 0 :(得分:4)
是的,有更好的解决方案
<select>
<option <? ($pb_item['message_color'] == 'red'?'selected="selected"') ?> value="red">Red</option>
<option <? ($pb_item['message_color'] == 'green'?'selected="selected"') ?> value="green">Green</option>
<option <? ($pb_item['message_color'] == 'blue'?'selected="selected"') ?> value="blue">Blue</option>
<option <? ($pb_item['message_color'] == 'yellow'?'selected="selected"') ?> value="yellow">Yellow</option>
</select>
即使您可以通过for循环列出选项,例如:
$colors = array('blue', 'red', ..);
foreach($colors as $color) {
echo "<option ".($pb_item['message_color'] == $color?'selected="selected"')."value='$color'>" . ucwords($color) . "</option>";
}
答案 1 :(得分:0)
那些麻烦理解以前选择的答案由@ vlcekmi3在这里其他一些简单&amp;肮脏的解释。
$colors = array(
1 => 'blue',
2 => 'red', ..); //init your array with key & value
foreach($colors as $key => $color) { // a loop
//print <option value="red"
echo "<option value=".$key;
//print selected if your selected value matched -
//please check before you echo 'selected' add a space before that
//you will thank me later
if($pb_item['message_color'] == $color){ echo " selected"; }
// close option with print '>'
echo '>';
// print your color name
echo $color;
//print </option>
echo "</option>";
}
我在这里解释的可能是一个肮脏的方式,但这段代码将帮助您了解如何将价值返回到您的视图。