php javascript select 默认值
php javascript select with default value
我在 php 的关联数组中有一些城市列表。我使用 javascript "on change" 来获取每个项目的价值。我想将一个项目设置为默认值(我想我将来会考虑使用地理位置)。
这是我的数组:
// Array lists
$city_array = array(
array('id' => '1', 'name' => 'Aaaa'),
array('id' => '2', 'name' => 'Bbbb'),
array('id' => '3', 'name' => 'Cccc'),
array('id' => '4', 'name' => 'Dddd'),
array('id' => '5', 'name' => 'Eeee'),
);
$json_city = json_encode($city_array);
还有我的 php 函数:
// Decode
$cities = json_decode($json_city);
function display_cities() {
global $cities;
$output = '<select id="citylists" onChange="onSelectCity()">';
foreach( $cities as $city ) {
$output .= '<option class="itemcity" value="'.$city->id.'">'.$city->name.'</option>';
}
$output .= '</select>';
$output .= '<script type="text/javascript">
function onSelectCity() {
var cityLists = document.getElementById("citylists");
console.log(cityLists.value);
}
window.onload = function() {
onSelectCity();
}
</script>';
echo $output;
}
我希望输出是这样的(打印在HTML):
<select id="citylists">
<option class="itemcity" value="1">Aaaa</option>
<option class="itemcity" value="2">Bbbb</option>
<option class="itemcity" value="3" selected>Cccc</option>
<option class="itemcity" value="4">Dddd</option>
<option class="itemcity" value="5">Eeee</option>
</select>
如你所见,我设置的默认值为<option class="itemcity" value="3" selected>Cccc</option>
。
如何在动态 php 循环中执行此操作?
谢谢
试试这个:
foreach( $cities as $city ) {
$selected = ($city->id == 3)?' selected ':null;
$output .= '<option class="itemcity" value="'.$city->id.'"'.$selected.'>'.$city->name.'</option>';
}
顺便说一下,对于有效的 HTML 你应该把它改成 selected="selected"
我在 php 的关联数组中有一些城市列表。我使用 javascript "on change" 来获取每个项目的价值。我想将一个项目设置为默认值(我想我将来会考虑使用地理位置)。
这是我的数组:
// Array lists
$city_array = array(
array('id' => '1', 'name' => 'Aaaa'),
array('id' => '2', 'name' => 'Bbbb'),
array('id' => '3', 'name' => 'Cccc'),
array('id' => '4', 'name' => 'Dddd'),
array('id' => '5', 'name' => 'Eeee'),
);
$json_city = json_encode($city_array);
还有我的 php 函数:
// Decode
$cities = json_decode($json_city);
function display_cities() {
global $cities;
$output = '<select id="citylists" onChange="onSelectCity()">';
foreach( $cities as $city ) {
$output .= '<option class="itemcity" value="'.$city->id.'">'.$city->name.'</option>';
}
$output .= '</select>';
$output .= '<script type="text/javascript">
function onSelectCity() {
var cityLists = document.getElementById("citylists");
console.log(cityLists.value);
}
window.onload = function() {
onSelectCity();
}
</script>';
echo $output;
}
我希望输出是这样的(打印在HTML):
<select id="citylists">
<option class="itemcity" value="1">Aaaa</option>
<option class="itemcity" value="2">Bbbb</option>
<option class="itemcity" value="3" selected>Cccc</option>
<option class="itemcity" value="4">Dddd</option>
<option class="itemcity" value="5">Eeee</option>
</select>
如你所见,我设置的默认值为<option class="itemcity" value="3" selected>Cccc</option>
。
如何在动态 php 循环中执行此操作?
谢谢
试试这个:
foreach( $cities as $city ) {
$selected = ($city->id == 3)?' selected ':null;
$output .= '<option class="itemcity" value="'.$city->id.'"'.$selected.'>'.$city->name.'</option>';
}
顺便说一下,对于有效的 HTML 你应该把它改成 selected="selected"