2012-11-22 63 views
0

我在Code Igniter中構建了一個應用程序,目前正在構建一些功能,用戶可以通過單擊頁面上的勾號或交叉圖標來批准或拒絕頁面上的請求這一頁。這些圖標是定位標籤。如何在沒有表單的情況下將變量傳遞給AJAX調用

我遇到的麻煩是將該單個請求的ID傳遞給AJAX表單。 我不會有任何問題在窗體中實現這個功能,因爲我只是簡單地使用一個隱藏的輸入字段,它會從控制器中設置它的值。可以有很多這樣的請求,但是它們總是有自己的個人ID,因爲它在視圖中循環。

因爲我使用錨標籤而不是表單我不知道我可以在標記中存儲該請求的標識。 下面是代碼:

 <p><span class="bold">Authorise This Request?: </span></p> 
      <p> 
       <a href="" class="authorise" id="allow"><img src="/igniter/images/tick.png" /></a> 
       <a href="" class="authorise" id="deny"><img src="/igniter/images/cross.png" /></a> 
      </p> 
     </div> 
     <?php $i++; ?> 
    <?php } ?> 
</div> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('.authorise').click(function() { 
     $.ajax({ 
      type: "POST", 
      url: 'holiday_request/authoriseRequest', 
      data: 'check=' + $(this).attr('id'), 
      success: function(data) { 

      } 
     }); 
     return false; 
    }); 
}); 
</script> 

正如你可以看到我使用的輸入字段的ID以後是否允許或拒絕它來確定。我想要做的就是能夠通過目前在控制器中的該請求的ID,因此在AJAX調用中的URL變量末尾添加'& id = blahblahblah'。

有沒有一種方法可以做到這一點,而不必使用表單而不是錨標籤?

+0

有沒有一種方法可以做到這一點,而無需使用表單而不是錨標籤?無法理解? – chhameed

回答

1

您可以使用HTML5 data-* Attributes

<a href="" class="authorise" data-id="1" data-check="allow"><img src="/igniter/images/tick.png" /></a> 
... 

然後得到的值,並把它添加到AJAX數據參數

data: 'check=' + $(this).data('check') + '&id=' + $(this).data('id'), 
+0

這工作謝謝! – devoncrazylegs

0

可以存儲在錨標記的數據屬性標識。

<a href="" class="authorise" id="allow" data-val="10"><img src="/igniter/images/tick.png" /></a> 

使用jquery獲取允許錨標記的存儲值。

$val_allow = $('#allow').data('val'); // value 10 
0

您可以嘗試使用$ .post,並且可以根據需要自定義參數!

$.post({ 'holiday_request/authoriseRequest' , { check: someId , anotherParam: 1 } , 
function(response) 
     { 
      console.log(response); 
     } 
    }); 
相關問題