0

我正在 Code Igniter 中构建一个应用程序,目前正在构建一些功能,用户可以通过单击页面上的勾号或十字图标来批准或拒绝页面上的请求。这些图标是锚标记。

我遇到的麻烦是将单个请求的 ID 传递给 AJAX 表单。我在表单中实现此功能没有问题,因为我只需使用一个隐藏的输入字段,该字段的值将从控制器保存在其中。可能有许多这样的请求,但它们总是有自己的个人 ID,因为它在视图中循环。

由于我使用的是锚标记而不是表单,我不确定我可以在标记中存储该请求的 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”。

有没有一种方法可以做到这一点而不必使用表单而不是锚标签?

4

3 回答 3

1

您可以使用HTML5 data-* 属性

<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'),
于 2012-11-22T15:10:08.830 回答
0

您可以将 ID 存储在锚标记的 Data 属性中。

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

使用 jquery 获取允许锚标记的存储值。

$val_allow = $('#allow').data('val'); // value 10 
于 2012-11-22T15:16:35.667 回答
0

您可以尝试使用 $.post 并且可以根据需要使用自定义参数!

    $.post({ 'holiday_request/authoriseRequest' , { check: someId , anotherParam: 1 } , 
function(response)
        {
            console.log(response);
        }
    });
于 2012-11-22T15:17:12.223 回答