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は1つしかないため、これはスタイルに関係なく機能しません。optionもう一度選択しようとすると、の値に変化がないselectため、onchangeイベントは発生しません。

これを機能させる2つの方法:

  1. ()にダミーoptionを追加するselect<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 に答える