1

我正在使用选择框来显示数据库中的“企业”列表。但是 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;
}
4

3 回答 3

4

onchange="javascript:valueselect()"用。。。来代替onchange="valueselect(this.value);"

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

可以直接使用

onchange="window.location='channelinformation.html?selected='+myaval"
于 2012-04-12T10:51:52.433 回答
2

让生活更轻松并使用 jQuery:

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

});
于 2012-04-12T10:53:17.580 回答
0

尝试这个,

<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>
于 2012-04-12T11:25:32.193 回答