2014-01-17 4 views
1

Нужна помощь.Получение значения добавленных текстовых полей при изменении в JQUERY

Как я могу получить значение добавленных текстовых полей с одинаковым именем класса? Пожалуйста, найдите фрагмент кода.

JS:

var count = document.getElementsByName("emailId[]").length; //get the totol no. of contact no. elements 
//function to add a new element for entering emailId 
$("#add-email-id").click(function() { 
    $("#email-id-container").append('<div id="emailAddress_container_' + count + '" style="margin-top:8px"><input type="text" name="emailId[]" id="email_address_' + count + '" data-toggle="tooltip" title="Enter Email address here" placeholder="[email protected]" size="30" onBlur="ValidateEmail(' + count + ');" class="emailId"><span><input class="username" id="username_' + count + '" name="username[]" value="username" /></span><span style="margin-left:8px;"><a href="javascript:void(0);" class="delete-email-id" style="color:#F00;">(-)</a></span><span id="email_err_' + count + '"></span></div>'); 
    count++; //increment the counter as new contact element is being added. 
}); 

$(document).ready(function() { 
    $('.emailId').change(function() { 
     var usernameDiv = $(this).parent("div").find(".username").attr("id"); //get the div where the truncated username will be placed 
     alert($(this).attr("id")); 
     alert($("#" + usernameDiv).val()); 
     var emailAddress = $(this).val(); 
     var truncatedValue = emailAddress; 
     var name = ""; 
     if (emailAddress.indexOf("@") != -1) { 
      ///alert("@");  
      name = $.trim(emailAddress.split("@")[0]); 
      //alert(name); 
      if (name && name.search(/\s/) === -1) { 
       var len = name.length; 
       //alert(len); 
       if (len > 4) { 
        truncatedValue = name.substring(0, 3); 
       } 
       usernameDiv.val(truncatedValue); 
      } else { 
       usernameDiv.val("username"); 
      } 
     } 
    }); 
}); 

Мне нужно получить значение email_address поля, а затем получить усеченное значение в соответствующем поле имени пользователя, приложенное.

+0

Вы можете поделиться своим текстом? –

+0

support

+0

это только код html, используемый ..! – support

ответ

1
$('.emailId').change(function() { //will not work for dynamic generated element 

Изменение выше строки кода, чтобы

$(document).on('change', '.emailId', function() { 

Вместо прикрепить обработчик события к документу или убедитесь, чтобы вызвать событие .Кнопкой при создании элемента.

+0

, но элементы создаются с помощью append() – support

+0

@support, что называется динамическим способом добавления элементов в html. – Praveen

+1

да.! @praveen – support

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