2013-10-03 9 views
0

Мне нужно добавить число в конец каждой переменной javascript и элемента JQuery.Связать переменные 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 [число] и ("#insert [число]"). Я пробовал looping, .append, + и т. Д., И ничего не работает.

Любая помощь будет принята с благодарностью!

+0

это не представляется возможным в JavaScript, как PHP $$ вар; U должен использовать массив вместо переменной name – Ts8060

+1

Также отправьте html. –

+0

кажется, что вы делаете это более сложным. Отправьте свой html-код. –

ответ

6

Правильный способ сделать это, используя «данные» -поле У вас есть такие кнопки:

И только одна функция для всего этого дерьма:

$('.insert').click(function(){ 
    var id = $(this).data('id'); 
    var collegeId = $('#collegeId' + id).val(); 
    $.post('insert.php', {collegeId: collegeId}); 
    return false; 
}); 

Также вы можете хранить collegeId прямо в кнопку тэгом (не делаете писать «данные-collegeId», поскольку данные-поля не поддерживают в верхнем регистре):

<button data-collegeid="1" class="insert"> 

тогда вы получите его в 1 строку:

var collegeId = $(this).data('collegeid'); 
+0

Спасибо Сталинко! – CBB

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}); 
})'; 
Смежные вопросы