PHP从组合框中选择一个项目,并用该值设置一个输入字段


PHP Select an Item from a Combo box and set an input field with the value

我正在开发一个php程序,该程序有类别和子类别。我所做的是用DISTINCT选择所有类别和子类别。然后我有一个表格,我想选择一个已知的类别或添加一个新的类别。

这是我目前的代码,但不起作用,有任何想法。。我是php的新手。

    <script type="text/javascript">
function mySubFunction() {
    var x = document.getElementById("subcat");
    var y = document.getElementById("isubcat");
    if (x.selectedIndex >= 0) {
        var sel = x.options[x.selectedIndex];  
        y.text = sel;
    }
}
</script>
    <div class="w3-input-group">      
        <label class="w3-label w3-text-brown"><b>Item Sub-Category</b></label>
        <input class="w3-input w3-border w3-sand" id="isubcat" name="isubcat" type="text" value="<?php echo $isubcat; ?>">
        <select id="subcat"  onclick="mySubFunction()">
<?php
    foreach ( $results['subcats'] as $cats ) {
        if ($cats === $isubcat){
            echo '<option value="' .$cats['subcat'] .'" selected >' .$cats['subcat'] .'</option>' . "'n";
        } else {
            echo '<option value="' .$cats['subcat'] .'" >' .$cats['subcat'] .'</option>' . "'n";
        } // end if Sub-Category Items
    } // end foreach
?>
        </select>
    </div>

尝试此更改(您调用的是onclick事件而不是onselect)

<select id="subcat"  onchange="mySubFunction()">

并更改此部分:

y.value = sel.text;

注意:使用sel.value而不是您想要显示选项值而不是选项文本。