0

Javascript の onclick と Jquery;s .click() の処理方法について多くのトピックを読みましたが、jQuery を使用してパラメーターを渡す方法がわかりません。

最初のオプション - Javascript、HTML

The HTML

<input type="button" onclick="doAction(<?=$id?>,'order');" />

したがって、JSでできること

function doAction(id,type){

 //do something here

}

2 番目のオプション - jQuery、HTML

The HTML

<input type="button" id="trigger" />

したがって、jQueryは次のようになります

$("#trigger").click(function() {

   //do something here

 });

次のようなことをしなければなりませんか (この場合、id と type の値をどのように知ることができますか?)

  $("#trigger").click({id: "???", type: "????"}, other_function);

  function other_function(event){
     id = event.data.param1;
     type = event.data.param2;
   }

を使用して「パラメーターを渡す」必要がありますか

  HTML
  <input type="hidden" id="id" value="<?=$id?>" />
  <input type="hidden" id="type" value="order" />

  jQuery

   $("#trigger").click(function(){
      var id = $("#id").val();
      var type = $("#type").val();
      //do something

   });

onclick() は避けるべきだと読んだので、使用を避けたいです。onclick() を使用して行ったように、パラメーターを渡す適切な方法が必要なだけです。

4

4 に答える 4

6

data を使用してdata()をイベントに渡すことができます。

ライブデモ

 <input type="hidden" id="id" data-idatt="123" />
 <input type="hidden" id="type" value="order" />

 $("#trigger").click(function(){
    var id = $("#id").data("idatt").val();
 });
于 2013-01-18T15:39:57.440 に答える
0

外部からパラメータを取得する必要はなく、隠しフィールドも必要ありません

$("#trigger").click(function(){
      var id = <?=$id?>;
      //do something
   });
于 2013-01-18T15:41:16.780 に答える
0

Chromeを使用してコンソールを開いてこれを試してください

$(#trigger);
$(#trigger).click(function(e) {
  console.log(
               $(this),
               $(this).attr('type') 
             );
});

関数には this という隠し変数があり、イベントをトリガーした要素です。

于 2013-01-18T15:42:01.020 に答える
0
$("#myElement").click({ "a": 1, "b": 2 }, function (e) {
    alert(e.data.a); // alerts 1
    alert(e.data.b); // alerts 2
});
于 2013-01-18T15:44:36.453 に答える