2013-11-06 2 views
0

У меня есть следующий на Jquery:Получить переменную на имя входа на Jquery

$(document).ready(function(){ 
    var asign=$('#asignatura').val(); 
    var id_user=$('#id_usuario').val(); 
    var id_pupil=$('#id_alumno').val(); 

    $("#agregar").on('click', function(){ 
     $('#tabla > tbody:last').after("<tr><td><input type='text' name='calification' value=''></td><td></td><td><a href='actualizar_notas.php?calificacion="+calification+" && asignatura="+asign+" && id_usuario="+id_user+" && id_alumno="+id_pupil+"'</a>agregar</td></tr>"); 


    }); 

И я хотел бы попасть на «calification», написанной в входного типа текста, чтобы пройти мимо попасть на HREF.

Это не работает.

Кто-нибудь может мне помочь?

Спасибо!

+1

Что? «И я хотел бы получить« калибровку », написанную в виде ввода» - Не знаете, что это значит, можете ли вы уточнить? – tymeJV

+0

Да, у меня есть строка, динамически созданная с тремя столбцами, первая имеет вход для записи числа, вторая - пустая, потому что, когда она хранится в базе данных, отображается дата, а третья - добавление для добавления в базу данных. И я хотел бы получить значение первого столбца, которое является числом, чтобы иметь имя переменной, чтобы передать его с помощью href с? Calification = "+ califications +". –

+0

'**' в ссылке? это опечатка или у вас действительно есть это в вашем коде? – mikakun

ответ

0
$("#agregar").on('click', function(){ 

    var asign=$('#asignatura').val(); 
    var id_user=$('#id_usuario').val(); 
    var id_pupil=$('#id_alumno').val(); 

    $('#tabla > tbody:last').after("<tr><td></td><td></td><td><a href='actualizar_notas.php?calificacion="+calification+"&asignatura="+asign+"&id_usuario="+id_user+"&id_alumno="+id_pupil+"'>agregar</a></td></tr>"); 


}); 
+0

Он не работает ...Теперь jquery не добавляет ни одной строки, когда я нажимаю add –

+0

, ваш фрагмент был заполнен опечатками, я отредактировал b4 your com, проверьте и проверьте вашу консоль на предмет ошибки - «это не работает» нормально от менеджера контента но из dev ... – mikakun

0

Вы попробовали $('input[name="calification"]').val(), чтобы получить его?

0

Это похоже на то, что вы спрашиваете, ...

Когда пользователь вводит значение в input и нажимает на ссылку, как я могу добавить введенное значение в URL канала связи?

Первое, что вам нужно сделать, это удалить это значение из ссылки в существующем коде. Поскольку у вас нет значения в момент запуска кода, вы ничего не можете с ним поделать. (Вы также хотите, чтобы исправить неработающую ссылку, ваш код, кажется, отсутствует остальную часть открытия a тега. И исправить нарушенные & конкатенации в самом URL.)

<a href='actualizar_notas.php?asignatura="+asign+"&id_usuario="+id_user+"&id_alumno="+id_pupil+"'>agregar</a> 

Далее, вы будете хотите обработать событие click для этой ссылки вручную. Поскольку ссылка добавляется динамически, и каждый из них будет иметь свой собственный связанный input, давайте дадим ссылку class таким образом мы можем ссылаться, что в нашем обработчике:

<a class="agregarLink" href='actualizar_notas.php?asignatura="+asign+"&id_usuario="+id_user+"&id_alumno="+id_pupil+"'>agregar</a> 

Теперь давайте создадим обработчик:

$('#tabla').on('click', 'a.agregarLink', function() { 
    // Get the calification value that the user has entered (if any) 
    // This should come from the input that's in the same table row as the clicked link 
    var calification = $(this).parent('tr').find('input[name="calification"]').val(); 

    // Redirect the user as though they clicked on a link 
    window.location.href = $(this).attr('href') + '&calification=' + encodeURIComponent(calification); 

    // Just in case the browser is still going to try to process the link directly 
    return false; 
}); 

То, что перенаправление должно привести к полному URL-адресу, чтобы включить любое введенное значение (конечно, кодируется URL-адресом). Такие, как:

actualizar_notas.php?asignatura=someValue&id_usuario=anotherValue&id_alumno=aThirdValue&calification=aUserEnteredValue 
0

Вот JS скрипку этого, с помощью нажатия клавиши в новом окне ввода

var asign=$('#asignatura').val(); 
    var id_user=$('#id_usuario').val(); 
    var id_pupil=$('#id_alumno').val(); 
    var calification; 
    $("#agregar").on('click', function(){ 
     $('#tabla > tbody:last').after("<tr><td><input type='text' id='calification' name='calification' value=''>Input box added</td><td></td><td><a href='' id='link'>I dont have any link now !! type in the input box </a>agregar</td></tr>"); 
    }); 
    $('#calification').live('keyup', function(){ 
     calification = $(this).val(); //alert(calification) 
     var newHref = "actualizar_notas.php?calificacion="+calification+"&&asignatura="+asign+" && id_usuario="+id_user+" && id_alumno="+id_pupil+""; 
     $('#link').attr('href', newHref).text('I have a link now '); 
     $('#newlink').text(newHref); 
    }); 

http://jsfiddle.net/abhiklpm/H2deA/1/

+0

Теперь, когда я нажимаю agregar, вы не добавляете ни одной строки. Кнопка agregar не работает ... –

+0

Сначала нажмите «(Щелкните по мне)», затем, когда появится окно ввода, введите и вы увидите, что под ним создается ссылка. Я изменил его, чтобы использовать другие поля текстовых полей: [ссылка] http://jsfiddle.net/abhiklpm/H2deA/2/ – abhiklpm

Смежные вопросы