更改选择框的事件

onchange event of select box

本文关键字:事件 选择      更新时间:2023-09-26

我正在使用选择框来显示数据库中的"企业"列表。但 onchange 事件不会触发。但是当我手动输入查询字符串的值时,它就会开始工作。我不明白为什么会发生这种情况。

我是javascript和php的新手,请向我建议解决方案。

<select id="enterprisebox" onchange="javascript:valueselect()" >
    <option value="-">-</option>
    <?php foreach($enterprise as $val) { ?>
    <option value="<?php echo $val['customer_id'];?>"><?php echo $val['customer_name']?>
    </option>
    <? } ?>
</select>

而我的JavaScript是——

function valueselect()
{
    var i = document.getElementById('enterprisebox');
    var p = i.options[i.selectedIndex].value;
    //alert(p);
    window.location.href = "channelinformation.html?selected="+p;
}

onchange="javascript:valueselect()"替换为onchange="valueselect(this.value);"

function valueselect(myval)
{
      window.location.href = "channelinformation.html?selected="+myaval;
}

您可以直接使用

onchange="window.location='channelinformation.html?selected='+myaval"

让生活更轻松,使用 jQuery:

$(document).ready(function () {  
    $('#enterprisebox').change(function () {
       window.location.href = "channelinformation.html?selected="+ $(this).val();
    });    
});

试试这个,

<select id="enterprisebox" onchange="javascript:valueselect(this)" >
    <option value="-">-</option>
    <?php foreach($enterprise as $val) { ?>
    <option value="<?php echo $val['customer_id'];?>"><?php echo $val['customer_name']?>
    </option>
    <? } ?>
</select>
<script>
   function valueselect(sel) {
      var value = sel.options[sel.selectedIndex].value;
      window.location.href = "channelinformation.html?selected="+value;
   }
</script>