2012-03-22 4 views
0

Я пытаюсь изменить код, который я нашел на этом сайте (любезно предоставлен 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 value="unitedstates">United States</option> 

Я также собирался изменить третью строку:

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

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

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

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

ответ

0

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

$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>'; 

BTW - это PHP не JQuery

+0

Спасибо, Nicola. Я заметил, что я ставлю jquery вместо php и собираюсь отредактировать его, когда увижу ваш ответ. Это не работает, потому что я думаю, что слишком много происходит в строке запроса. Перед тем, как выбрать значение параметра, я связываюсь с двумя отдельными панелями с вкладками. Таким образом, мои фактические ссылки выглядят так: 'www.mysite.com/registration.html? Type = tennis & program = juniors & country = unitedstates' В результате он всегда переходит прямо к первому варианту независимо от ссылки. – Beau

+0

Я проверил код только с запросом страны, и он по-прежнему не ссылался на выбранное значение. Выбранный = «выбран» просто не выполняется. – Beau

+0

@ Вы можете отправить пример на jsfiddle? –

Смежные вопросы