0

アンカーにリンクされているチェックボックスがたくさんあります。チェックボックスをクリックすると、同じページにあるアンカーに移動します。これをコーディングするより良い方法はありますか?約 50 個のチェック ボックスがあるため、この関数には if ステートメントが含まれています。これは、そのうちの 2 つの作業コードです。

<input type="checkbox" id="1" value="1" onclick="return send();"/>
<input type="checkbox" id="2" value="2" onclick="return send();"/>

<script>
function send(){
    if(document.getElementById('1').checked){
        window.location='#buy';
        return false;
    }
    if(document.getElementById('2').checked){
        window.location='#order';
        return false;
    }

//and this function goes on and on and on...
        return true;

    }
    </script>

そして、私が行きたいページには

<a name="buy"></a>
<a name="order"></a>
4

3 に答える 3

1

HTML:

<input type="checkbox" id="checkbox1" value="1" data-target="buy" onclick=" send(this)">
<input type="checkbox" id="checkbox2" value="2" data-target="order" onclick="send(this)">

JavaScript:

function send(el){
  var target = '#' + el.getAttribute('data-target');
  window.location = target ;
}
于 2013-08-12T20:41:14.970 に答える
1

次のように入力の値にハッシュを追加した場合:

<input type="checkbox" id="2" value="buy" onclick="return send(this);"/>

あなたはそうすることができます

<script>
function send(input)
{
    if(input.checked)
    {
        window.location = input.value;
        return true;
    }

    return true;
}
</script>

それがうまくいかない場合は、使用する値IDやカスタム属性を切り替えることもできます。あなたの空想に合うものは何でも。

于 2013-08-12T20:41:35.067 に答える