由于我无法解释早些时候发布的问题,这里是另一个尝试。所有我想要的是有一个被选中的当前选项的值,这样我就可以在输入字段的值中回显该值。
JavaScriptfunction id() {
var sel = document.getElementById("cate");
// to get the value of the selected option
var selectedid = sel.options[sel.selectedIndex].value;
return selectedid;
}
PHP <form action="" method="POST">
<select name="cate">
<?php
$que1 = "SELECT * FROM category";
$res1 = mysql_query($que1);
while($row = mysql_fetch_array($res1)) {
$cat_id_db = $row['cat_id'];
$cat_db = $row['cat_name'];
?>
<option value="<?php echo $cat_id_db; ?>" >
<?php echo $cat_db;?>
</option>
<? } ?>
</select>
<p><label class="field">Category ID:</label></p>
//HERE!
<input type="text" name="cat_id" value="<?php echo $cat_id_db; ?>" class="textbox-300" pattern="[a-zA-Z0-9'. ]+" title="Please enter your Item Price">
</form>
//HERE!
:这是我想使用当前/选定选项的值而不是php代码编写的地方。
这不是http进程的工作方式。Php运行在服务器上,js运行在浏览器上(大多数情况下)。如果你只想设置输入值,可以使用javascript:
<form action = "" method = "POST">
<select name="cate" onchange="changeInput(this.value);">
<?php //your php code here ?>
</select>
<p><label class = "field">Category ID:</label></p>
<input type = "text" name = "cat_id" id="cat_id" value = "change select to see me change" class = "textbox-300" pattern = "[a-zA-Z0-9'. ]+" title = "Please enter your Item Price">
</form>
<script>
var changeInput = function (val){
var input = document.getElementById("cat_id");
input.value = val;
}
</script>
实例:https://jsfiddle.net/nr8c8j8L/
首先,必须设置元素的id。不是"名字"
<select name="cate" id=cate>
第二,为什么你必须重写选定的项目到输入元素?在服务器端,您可以使用$_POST['cate']