我需要在每个javascript变量和JQuery元素的末尾添加一个数字。
这是我的代码:
$("#insert1").click(function(){
var collegeId1=$("#collegeId1").val();
$.post('insert.php', {collegeId: collegeId1});
return false;
});
$("#insert2").click(function(){
var collegeId2=$("#collegeId2").val();
$.post('insert.php', {collegeId: collegeId2});
return false;
});
......等等。我需要继续在每个元素和变量的末尾添加数字(即collegeId [number]和(“#insert [number]”)。我尝试过循环,.append,+等等,似乎没有任何工作。
非常感谢任何帮助!
答案 0 :(得分:6)
正确的方法是使用“数据” - 字段 你有这样的按钮:
<button data-id="1" class="insert">
只有一个函数适合所有这些:
$('.insert').click(function(){
var id = $(this).data('id');
var collegeId = $('#collegeId' + id).val();
$.post('insert.php', {collegeId: collegeId});
return false;
});
你也可以将collegeId存储在button-tag中(不要写“data-collegeId”,因为数据字段不支持大写):
<button data-collegeid="1" class="insert">
然后你得到1行:
var collegeId = $(this).data('collegeid');
答案 1 :(得分:0)
如果你必须使用已经有的标记,试试这个......
$('[id^="insert"]').filter(function() {
return /insert\d+$/.test(this.id); // filter to make sure the id matches /insert\d+/
}).on('click', function(e) {
e.preventDefault();
var i = /\d+$/.exec(this.id)[0], // fetch index from id
collegeId = $('#collegeId' + i).val();
$.post('insert.php', {collegeId: collegeId});
})';