1

我有这个按钮,它应该转到值中的页面,但是当我有 css 时它没有,没有它可以工作,但看起来很糟糕:

<form action="table.php" name="rows" method="POST">
    <select class="styledselect_pages" onchange="window.location.href = this.options[this.selectedIndex].value;">
    <option value="table.php?row=100">100</option>
    </select>
</form>

这个CSS:

.styledselect_pages {
    background              :url(../images/table/select_number_rows.gif) left no-repeat;
    border                  :none;
    border-left             :none;
    color                   :#393939;
    cursor                  :pointer;
    display                 :block;
    font-family             :Arial;
    font-size               :12px;
    height                  :20px;
    line-height             :16px;
    margin                  :0px 0px 0px 0px;
    padding                 :4px 0 0 6px;
    text-align              :left;
    width                   :130px;
}

为什么“Onchange”不起作用?

4

1 回答 1

0

无论样式如何,这都不起作用,因为默认情况下select只有一个option被选中。当您再次尝试选择它时, 中的值没有变化,select因此onchange不会触发事件。

实现这项工作的两种方法:

  1. optionselect( <option value=''>---</option>)中添加一个虚拟对象
  2. 更改onchangeonblur事件。

我更喜欢第一个选项,因为它在两者中更明智。此外,请考虑调用函数而不是使用内联 Javascript 代码。

<select onchange='javascript:getrow(this.value);'>

<script>
function getrow(no) {
    if (no!='')
        location.href = 'table.php?row='+no;
}
</script>
于 2012-11-04T21:40:40.197 回答