Ссылка на конкретные значения параметра - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь изменить какой-то код, который я нашел на этом сайте (любезно предоставлено mqchen), чтобы включить привязку к конкретным значениям параметров.Хотя это близко к тому, что я ищу, у меня мало знаний php, и поэтому мне нужна помощь.Вот оригинальный код:

<?php
$options = array('Norway', 'United States', 'Springfield');
echo '<select>';
foreach($options as $country) {
    if(array_key_exists('selected', $_GET) && $_GET['selected'] === $country) {
        echo '<option selected="selected">'.$country.'</option>';
    }
    else {
        echo '<option>'.$country.'</option>';
    }
}
echo '</select>';
?>

И ссылка будет выглядеть примерно так:

/countries.html?country=norway

Мне нужно, чтобы между тегами параметров была указана не только страна, но и значение втег option, чтобы окончательный вывод был:

<option value="unitedstates">United States</option>

Я также собирался отредактировать третью строку так:

echo '<select name="name" size="1" onchange="ShowHide(this.value);">';

, потому что мой тег select в настоящее время имеет эти атрибуты для определенныхфункциональность.Так что, по сути, все, что мне нужно сделать, я считаю, это добавить еще один массив, содержащий значения параметров, которые совпадают со странами, и поместить переменную в тег параметра, который, как я предполагал, будет:

<option value="'.$valueid.'">

НоЯ не совсем уверен.Спасибо за любую помощь.

1 Ответ

0 голосов
/ 22 марта 2012

Вы должны сделать

$options = array('norway' =>'Norway', 'unitedstates' => 'United States', 'springfield' => 'Springfield');
echo '<select name="name" size="1" onchange="ShowHide(this.value);">';
foreach($options as $key => $country) {
    if(array_key_exists('selected', $_GET) && $_GET['selected'] === $country) {
        echo '<option selected="selected" value="'.$key.' >'.$country.'</option>';
    }
    else {
        echo '<option value="'.$key.'>'.$country.'</option>';
    }
}
echo '</select>';

Кстати - это php, а не jQuery

...