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

时间:2015-12-09 04:54:52

标签: php mysqli

我有一个我正在研究的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>

1 个答案:

答案 0 :(得分:1)

尝试进行此更改(您正在调用onclick事件而不是onselect)

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

更改此部分:

y.value = sel.text;

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