アクション用の列を持つループを使用してHTMLを作成しています。その列は、ユーザーがクリックするとJavaScript関数を呼び出してパラメーターを渡すハイパーリンクです...
例:
<a href="#" OnClick="DoAction(1,'Jose');" > Click </a>
<a href="#" OnClick="DoAction(2,'Juan');" > Click </a>
<a href="#" OnClick="DoAction(3,'Pedro');" > Click </a>
...
<a href="#" OnClick="DoAction(n,'xxx');" > Click </a>
その関数が正しいパラメーターでAjax jQuery関数を呼び出すようにします。
助けがありますか?
POSTを使用する
function DoAction( id, name )
{
$.ajax({
type: "POST",
url: "someurl.php",
data: "id=" + id + "&name=" + name,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
GETを使用する
function DoAction( id, name )
{
$.ajax({
type: "GET",
url: "someurl.php",
data: "id=" + id + "&name=" + name,
success: function(msg){
alert( "Data Saved: " + msg );
}
});
}
編集:
おそらく、javascriptが有効になっていない場合に(GETを使用して)動作するこれを行うより良い方法は、hrefのURLを生成し、クリックハンドラを使用して代わりにajax経由でそのURLを呼び出すことです。
<a href="/someurl.php?id=1&name=Jose" class="ajax-link"> Click </a>
<a href="/someurl.php?id=2&name=Juan" class="ajax-link"> Click </a>
<a href="/someurl.php?id=3&name=Pedro" class="ajax-link"> Click </a>
...
<a href="/someurl.php?id=n&name=xxx" class="ajax-link"> Click </a>
<script type="text/javascript">
$(function() {
$('.ajax-link').click( function() {
$.get( $(this).attr('href'), function(msg) {
alert( "Data Saved: " + msg );
});
return false; // don't follow the link!
});
});
</script>
Ajax呼び出しまたは単純なJavaScript関数を実行する場合は、falseを返すことで関数を閉じることを忘れないでください
このような:
function DoAction(id, name)
{
// your code
return false;
}
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
function omtCallFromAjax(urlVariable)
{
alert("omt:"+urlVariable);
$("#omtDiv").load("omtt.php?"+urlVariable);
}
</script>
これを試してみてください
このようなものを試してください
#vote_links a
は、投票リンクdiv id内のすべてのIDをキャッチします...
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(\'#vote_links a\').click(function() {// alert(\'vote clicked\');
var det = jQuery(this).get(0).id.split("-");// alert(jQuery(this).get(0).id);
var votes_id = det[0];
$("#about-button").css({
opacity: 0.3
});
$("#contact-button").css({
opacity: 0.3
});
$("#page-wrap div.button").click(function(){
パラメータを別のページに渡すか、関数のみに渡しますか?
関数のみの場合、$。ajax()tvanfossonを追加する必要はありません。代わりに関数のコンテンツを追加してください。好む:
function DoAction (id, name ) {
// ...
// do anything you want here
alert ("id: "+id+" - name: "+name);
//...
}
これにより、id値とname値を含むアラートボックスが返されます。