1

複数のタブがあるWebページがありますが、いくつかの小さな違いを除いて、すべて基本的に同じことを行います。例えば:

    <div id="tabs-1">
    <form id="buybackForm">...
    <div id="tabs-2"><!--Video Games-->
            <form id="buybackFormVideoGames">....
    <div id="tabs-3"><!--Movies -->

        <form id="buybackFormMovies">

など、各タブは本、ビデオゲーム、映画などの情報を取得するために使用されます。フォームを機能させることを除いて、フォームは同じです。各タブのID、本のタイトル、videoTitleを変更する必要がありました。ビデオとmovieTitleformovies。バックエンドは各タブでほぼ同じように見えますが、フォームIDだけが変更されています。

    $('#isbn').keydown(function (e) { - for the books
     $('#platform').keydown(function (e) { - video games
    $('#Movieupc').keydown(function (e) { - for movies

すべての機能は基本的に同じですが、フォームフィールドの名前が変更されています。これを行うためのより良い方法はありますか?何らかの方法でjavascriptを使用することは可能ですか(GetElementbyIdかもしれませんか?)、タブごとに各関数を書き出す必要はありませんか?タブごとに、約6つの異なる関数を実行し、ajax呼び出しを行うことができます。

4

1 に答える 1

2

名前付き関数を使用できます

function myFunction(){ }

$('#isbn').keydown(myFunction);
$('#platform').keydown(myFunction);
$('#Movieupc').keydown(myFunction);

または、すべての要素に共通のクラスを使用します。

$('.myCommonClass').keydown(function (e) { });

それらが動的であり、jQuery 1.7以降を使用している場合は、私たちが使用できますon

$(document).on("keydown", ".myCommonClass", function(){} );
于 2012-10-23T19:33:59.087 に答える