连接JQuery变量

时间:2013-10-03 04:52:29

标签: javascript jquery variables

我需要在每个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,+等等,似乎没有任何工作。

非常感谢任何帮助!

2 个答案:

答案 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});
})';