0

JQUERYイベント関数に複数の引数を送信したい.1つのデータを送信するために、htmlコードの値attrに入れます。

<li id="<?php echo 'v'.$value['vehicleid'] ?>" value="<?php echo $value['vehicleid']; ?>" >

そして、JQueryイベント関数でデータを取得しますが、$(this).val()複数のphpデータをJQueryイベント関数に渡す方法がわかりません!
これらのデータは動的であり、php コードによって生成されます。

4

4 に答える 4

1

先日、似たようなものに出会いました。

html5 カスタム データ属性を使用してみてください。

John Resig (jquery の王様であり、javascript の一般的な忍者) は、最初にそれについてここに投稿しました。

それで:

<li id="vehicle<?php echo 'v'.$value['vehicleid'] ?>" data-vehicle="<?php echo    $value['vehicleid']; ?>" >

次に、jquery .data 関数を使用してアクセスします。http://api.jquery.com/data/を参照してください。

追加したいデータがたくさんある場合は、オブジェクト リテラルを使用することをお勧めします

{ vehicleId:    <?php echo 'v'.$value['vehicleid'] ?>,
vehicleName: <?php echo 'v'.$value['vehicleName'] ?>}

jquery Web サイトの例のように。

于 2012-07-21T21:48:15.913 に答える
0

あなたがどのようなイベントに関係しているのか、100パーセントわかりません。ただし、関数内で複数の引数を渡すことができます(..HERE ..)。カンマで区切る必要があります。こんな感じです。

    $('selector').change(function(arg1,arg2,arg3){
          alert(arg1+arg2+arg3);
   });

この例では、セレクター「セレクター」に変更イベントを使用しています。

于 2012-07-21T21:39:25.337 に答える
0

lival()は、入力などのフォーム要素で使用されることになっているため使用できません。この場合、有効な属性は次のようになります。value

liの場合、データ属性を使用できます

<li id="<?php echo 'v'.$value['vehicleid'] ?>" data-vehicleid="<?php echo $value['vehicleid']; ?>" >

と使用:

var vehicleId = $(this).data('vehicleid');

複数のデータを渡す場合は、各IDを「-」のような文字で区切ることができます。

<li id="<?php echo 'v'.$value['vehicleid'] ?>" data-vehicleids="<?php echo $value['vehicleid1']. '-' .$value['vehicleid2']; ?>" >

これは次のようなものを生成するはずです:

<li id="1234" data-vehicleids="1234-3456-5678" >

その後、

var vehicleIdsArray = $(this).data('vehicleids').split('-');

分離に使用される文字が車両IDに使用されていないことを確認してください

これはあなたを助けるはずです:

<ul id="list">
<li data-vehicleid="1234" data-vehiclename="renault" data-vehicle-color="silver">Renault</li>
</ul>

$(document).ready(function(){
  $('ul#list li').click(function(e){
    var vehicleId = $(this).attr('vehicleid');
    var vehicleName = $(this).attr('vehiclename');
    var vehicleColor = $(this).attr('vehiclecolor');
    return false;
  });
});

Resigからの引用:

この仕様全体で最も魅力的なのは、ブラウザが何かを実装するのを待たずに使用を開始できることだと思います。今日からHTMLメタデータにデータプレフィックスを使用し始めることで、将来にわたってうまく機能し続けることを安全に知ることができます。HTML 5バリデーターが完全なW3Cバリデーターに統合される時点で、サイトはすでに準拠しています(もちろん、既に有効なHTML 5であり、HTML 5 Doctypeを使用していると仮定します)。

于 2012-07-21T21:40:07.770 に答える
0

イベントを処理する関数を作成する必要があると思います

    function handleEvent(data-vehicleid,data-vehiclename,data-vehiclename)
    {
        alert(data-vehicleid + data-vehiclename + data-vehiclename);
    }

次に、あなたのliで、

<li onmouseover="handleEvent(<?php echo $variable1;?>,<?php echo $variable2;?>,<?php echo $variable3;?>)">Renault</li>
于 2012-07-21T22:05:16.063 に答える