我正在使用一个选择框来显示数据库中的“enterpirses”列表。但是onchange事件并没有触发。但是当我手动输入querystring的值时,它就开始工作了。我不明白为什么会这样。
我是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;
}
答案 0 :(得分: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"
答案 1 :(得分:2)
让生活变得更轻松并使用jQuery:
$(document).ready(function () {
$('#enterprisebox').change(function () {
window.location.href = "channelinformation.html?selected="+ $(this).val();
});
});
答案 2 :(得分: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>