У меня есть этот выбор в моей форме:
<select id = "select" name = "gametype" onchange = "myFunction(event)">
<option disabled selected value>Please Select Game Type</option>
<option value = "28,000" >HD 6 Cameras saterday</option>
<option value = "30,000" >HD 6 Cameras</option>
<option value = "50,0000">HD 7 Cameras saterday</option>
<option value = "32,0000">HD 7 Cameras</option>
<option value = "45,000" >4k 7 Cameras saterday</option>
<option value = "32,000" >4k 7 Cameras</option>
</select>
Я передаю значение опции в $_POST. Как я могу также передать текст опции? Например, если значение равно «28 800», я также хочу передать «HD 6 Cameras saterday».






Не уверен, как вы обрабатываете другие компоненты этой формы, но я удалил привязку атрибута onchange из элемента select и просто использовал jquery, чтобы установить текст, отображаемый для пользователя, как скрытую переменную.
<?php
if (isset($_POST['gametype'])) {
var_dump($_POST);
echo "<hr/>";
}
?>
<script
src = "https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity = "sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E = "
crossorigin = "anonymous"></script>
<form class = "myForm" method = "post">
<!--this is empty and stays that way until you submit it-->
<input type = "hidden" name = "gametype_desc" class = "gametype_desc" value = "" />
<select id = "select" class = "selGameType" name = "gametype">
<option disabled selected value>Please Select Game Type</option>
<option value = "28,000" >HD 6 Cameras saterday</option>
<option value = "30,000" >HD 6 Cameras</option>
<option value = "50,0000">HD 7 Cameras saterday</option>
<option value = "32,0000">HD 7 Cameras</option>
<option value = "45,000" >4k 7 Cameras saterday</option>
<option value = "32,000" >4k 7 Cameras</option>
</select>
</form>
<script>
$(function(){
$("select.selGameType").change(function(){
//uncomment to log the value in the console
//console.info($(this).children(":selected").text());
//uncomment to log the value in the console
//console.info($(this).val());
//get the text of the currently selected option
selText = $(this).children(":selected").text();
//we set the value of the hidden variable, so that the text (not value) is passed as a separate post var
$("input.gametype_desc").val(selText);
//now you might submit it, or whatever your next step is...
$("form.myForm").submit();
})
})
</script>
Вам нужно либо добавить дополнительное значение, которое вы хотите передать в значение поля выбора, либо использовать идентификатор базы данных в качестве значения поля выбора, а затем использовать этот идентификатор для поиска цены и названия выбранного продукта.