Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用默认值选择php javascript_Javascript_Php_Arrays_Associative Array - Fatal编程技术网

使用默认值选择php javascript

使用默认值选择php javascript,javascript,php,arrays,associative-array,Javascript,Php,Arrays,Associative Array,我在php中有一些关联数组中的城市列表。我使用javascript“on change”获取每个项目的值。我想将一个项目设置为默认项目(我想我正在考虑将来使用地理位置) 以下是我的阵列: // Array lists $city_array = array( array('id' => '1', 'name' => 'Aaaa'), array('id' => '2', 'name' => 'Bbbb'), array('id' => '3'

我在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;
}
//解码
$cities=json\u decode($json\u city);
功能显示(城市){
全球城市;
$output='';
foreach($cities作为$city){
$output.=''.$city->name';
}
$output.='';
$output.='
函数onSelectCity(){
var cityLists=document.getElementById(“cityLists”);
console.log(citylist.value);
}
window.onload=函数(){
onSelectCity();
}
';
echo$输出;
}
我希望输出如下(以HTML打印):


Aaaa
Bbbb
中交
Dddd
Eeee
如您所见,我将默认值设置为
Cccc

如何在动态php循环中做到这一点

谢谢

试试这个:

foreach( $cities as $city ) {
    $selected = ($city->id == 3)?' selected ':null;

    $output .= '<option class="itemcity" value="'.$city->id.'"'.$selected.'>'.$city->name.'</option>';
}
foreach($cities作为$city){
$selected=($city->id==3)?“selected”:空;
$output.=''.$city->name';
}

顺便说一下,对于有效的HTML,您应该将其更改为selected=“selected”

Hi的可能重复项,谢谢您的提醒:)
foreach( $cities as $city ) {
    $selected = ($city->id == 3)?' selected ':null;

    $output .= '<option class="itemcity" value="'.$city->id.'"'.$selected.'>'.$city->name.'</option>';
}