у меня есть этот код
<?php
$sexV = @$_POST['sex']; //the value of selected option 1 and 2
$sexL = @$_POST['sex']['label']; //the value of label of selected option male and female
if(@$_POST['doFun']){
echo $sexV;
}
?>
<form method="post">
<select name="sex" id="sex">
<option value="1" label="male">m</option>
<option value="2" label="female">f</option>
</select>
<input type="submit" name="doFun">
</form>
мой вопрос … как получить значение выбранной опции и значение метки той же опции ??
спасибо ^ _ ^
ВАРИАНТ ПЕРВЫЙ: Не требует JavaScript, но нуждается в разборе PHP стороны
<?php
if(@$_POST['doFun']){
$sexVals = explode(',', $_POST['sex']);
$sexV = $sexVals[0]; //the value of selected option 1 and 2
$sexL = $sexVals[1]; //the value of label of selected option male and female
echo $sexV;
}
?>
<form method="post">
<select name="sex" id="sex">
<option value="1,male">m</option>
<option value="2,female">f</option>
</select>
<input type="submit" name="doFun">
</form>
ВАРИАНТ ВТОРОЙ: Требуется JavaScript, который может быть отключен пользователем и все эти кошмары со стороны клиента.
<form method="post">
<input type="hidden" name="sex-label" id="sex-label"/>
<select name="sex" id="sex">
<option value="1" label="male">m</option>
<option value="2" label="female">f</option>
</select>
<input type="submit" name="doFun">
</form>
<script>
var element = document.getElementById('sex');
var label = document.getElementById('sex-label');
element.onchange = function(){
label.value = element.options[element.selectedIndex].getAttribute("label");
};
</script>
Позднее в PHP …
$sexL = $_POST['sex-label'];
Других решений пока нет …