以下是我生成的html代码。在用户点击激活按钮时,我想知道应该是jquery代码来触发ajax请求时遇到了一些麻烦。
<span class="vId">
<input type="hidden" name="id" id="7" />
<input type="hidden" name="ClientID" id="026CC6D7-34B2-33D5-B551-CA31EB6CE345" />
<input class="textbox" type="text" name="key" />
<input class="button" type="button" name="Activate" value="Activate" />
</span>
<span class="gc_Name">Bartlett-White</span>
<span class="vId">
<input type="hidden" name="id" id="2" />
<input type="hidden" name="ClientID" id="000214EE-0000-0000-C000-000000000046" />
<input class="textbox" type="text" name="key" />
<input class="button" type="button" name="Activate" value="Activate" />
</span>
<span class="gc_Name">Landingham Bends</span>
<span class="vId">
<input type="hidden" name="id" id="8" />
<input type="hidden" name="ClientID" id="049F2CE6-D996-4721-897A-DB15CE9EB73D" />
<input class="textbox" type="text" name="key" />
<input class="button" type="button" name="Activate" value="Activate" />
</span>
<span class="gc_Name">Russell River</span>
我的想法如下:
<script type="text/javascript">
$().ready(function(){
$.each($(".button")
.click(function() {
$.ajax({
url: '{site_url}index.php/activate',
type: 'POST',
dataType: 'html',
data: {
key: $(this).sibling(':first'),
idclient: $(this).sibling(':first:next'),
},
success: function(result) {
}
});
});
)
});
</script>
虽然我知道我的jquery不起作用,但我有点难过......任何帮助都会非常感激。正如我所说,每当用户点击激活按钮时,我都会尝试向激活控制器发送ajax请求,但是我也需要在同一范围内发送隐藏数据。
再次感谢您的帮助。
答案 0 :(得分:7)
<script type="text/javascript">
$().ready(function(){
$(".button").click(function() {
var button = this;
$.ajax({
url: '{site_url}index.php/activate',
type: 'POST',
dataType: 'html',
data: {
key: $(button).siblings('[name="id"]').attr("id"),
idclient: $(button).siblings('[name="ClientId"]').attr("id"),
},
success: function(result) {
}
});
});
});
</script>
答案 1 :(得分:1)
$(".button").click(function(e) {
e.preventDefault();
var that = this;
$.ajax({
url: '{site_url}index.php/activate',
type: 'POST',
dataType: 'html',
data: {
key: $(that).prev().attr('id'),
idclient: $(that).siblings('[name="clientID"]').attr('id'),
},
success: function(result) {
alert(result);
$(that).blahblah();
}
});
});
$(".button").click(...
将使用'button'类隐式将处理程序附加到所有元素。$.ajax
调用的回调/范围内可以访问该变量。event.preventDefault()
:next
伪选择器。