0

car自分の値を別の関数に渡そうとしていますが、方法がわかりません。関数全体を に配置しようとしbtn-info-addました.span8。しかし、これは2回目に2回実行されます。

$(".span8").on("click", "table #trID", function() {
   var car = ($(this).closest("tr").children("td").eq(1).html());
   $('#myModal1').modal('show');
});

$("#btn-info-add").click(function() //button inside the modal
    selectCourse(car); //execute ajax
});
4

2 に答える 2

0

ダイアログ内に非表示の要素を作成し(input素晴らしいと思います)、希望の値を割り当てることができます。

<div id="dialog" title="Basic dialog">
  <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
  <input id="carvalue" type="hidden" value=""/>
</div>

input後でアクセスする値を格納するための要素 (もちろん非表示) を作成したことに注意してください。その後、次のようにコードを変更できます。

$(".span8").on("click", "table #trID", function() {
   var car = ($(this).closest("tr").children("td").eq(1).html());
   $("#carvalue").val(car);  // Store value into hidden input
   $('#myModal1').modal('show');
});

$("#btn-info-add").click(function() //button inside the modal
    var car = $("#carvalue").val(); // retrieve value from input hidden
    if(car != ""){
       selectCourse(car); 
    }
});

この手法は、フォームで一般的に使用され、AJAX 呼び出しに関する追加情報を渡します。ユーザーはその存在に気付かず、作業を続けることができます。ハッピーコーディング!

編集:

JQuery には、情報を JQuery 要素に格納するためのjQuery.dataというメソッドがあります。したがって、値は要素自体に保存されます。コードは次のようになります。

$(".span8").on("click", "table #trID", function() {
   var car = ($(this).closest("tr").children("td").eq(1).html());
   jQuery.data("#btn-info-add", "car", car);   // store data inside jQuery element
   $('#myModal1').modal('show');
});

$("#btn-info-add").click(function() //button inside the modal
    selectCourse(jQuery.data("#btn-info-add", "car")); //execute ajax
});

お役に立てば幸いです。ハッピーコーディング!

于 2013-10-16T18:40:19.203 に答える