2017-02-17 8 views
0

私はクリック機能付きの長い入力リストを持っています。これは私がそれをJqueryがトップページにジャンプする。クリック

$(document).on('click', 'input', function() { 
var name = $(this).attr("name"); 
if ($('input[name="' + name + '"]:eq(1)')[0].checked) { 
    $('label[name="' + name + '"]:eq(1)').addClass('nostate'); 
    $('label[name="' + name + '"]').removeClass('selected'); 
} 
else { 
    $('label[name="' + name + '"]').removeClass('nostate selected'); 
    if ($('input[name="' + name + '"]:eq(0)')[0].checked) { 
     $('label[name="' + name + '"]:eq(0)').addClass('selected'); 
    } 
    else { 
     $('label[name="' + name + '"]:eq(2)').addClass('selected'); 
    } 
} 

}); 

をクリックするたびに、私は

function (e) { 
e.preventDefault(); 
} 

return false; 

を試みた。しかし、彼らは私がとる動作しませんでした裏ページのトップに私をもたらしていますそれはinputがページ全体を走っているからです。

注:私は追加の入力を追加し、私は追加の入力をクリックしたとき、私のクリックのリスナーが正常に動作します2番目のクエリを持っているので、

私はそれは文書全体を聴いてきた理由は、あります。これは、クリックリスナーがページロード時にinputにバインドされているためと考えられます。

また、クリックにはhref=""がありません。

+0

URLは変更されていますか?ハッシュ記号の後に何かを付け加えるのと同じですか? http://www.example.com/url#something/wrong-here – motanelu

+0

@motanelu確かにそうではありません。私はその時点で質問を編集します。 – denski

+0

[mcve]を送信して問題を確認してください – j08691

答えて

0

最小限の/ comlete/verifiableの例を作成するためにできるだけ多くのコードを削除し、CSSを通って私はそれがラジオボタンの位置を隠すことによって引き起こされたことを発見した。

input[name^="state"][type="radio"] { 
    position: absolute; 
    top: -9999px; 
    left: -9999px; 
} 

私は

input[name^="state"][type="radio"] { 
    display:none; 
    //position: absolute; 
    //top: -9999px; 
    //left: -9999px; 
} 

にそれを変更し、これはトリックをしました。

関連する問題