2015-03-06 1 views
-1

У меня есть следующий код HTML и JS и проблема, что я не совсем уверен, как получить значения из входных полей с классами bti, bi, bp и bb, когда Я нажимаю на кнопку savebtn. Я действительно надеюсь, что кто-то может мне помочь и дать мне подсказку! С наилучшими пожеланиямиКак получить значения из ввода Коробки

$(document).ready(function() { 
 
    $('.savebtn').click(function() { 
 
    //how to i get the values? 
 
    }); 
 
});
<div class="modal-body"> 
 
    <?php 
 
for ($i=0; $i<count($barkeeperarr); $i++) { 
 
?> 
 
    <div class="panel panel-primary" value="<?php echo $barkeeperarr[$i]->getID(); ?>" > 
 
    <div class="panel-heading clickablePanel"> 
 
     <div class="panel-title"><?php echo $barkeeperarr[$i]->getFirstname().' '.$barkeeperarr[$i]->getLastname(); ?></div> 
 
    </div> 
 
    <div class="panel-body" style="display: none"> 
 
     <div class="container-fluid"> 
 
     <div class="row" value="row" style="margin-bottom: 3px"> 
 
      <div class="col-xs-5"> 
 
      <input type="text" class="form-control bti" placeholder="Gesamtumsatz"> 
 
      </div> 
 
      <div class="col-xs-5"> 
 
      <input type="text" class="form-control bi" placeholder="Einladung"> 
 
      </div> 
 
      <div class="col-xs-2"> 
 
      <button type="button" class="btn btn-primary btn-sm savebtn">Hinzuf&uuml;gen</button> 
 
      </div> 
 
     </div> 
 
     <div class="row" style="margin-bottom: 3px"> 
 
      <div class="col-xs-5"> 
 
      <input type="text" class="form-control bp" placeholder="Personal"> 
 
      </div> 
 
      <div class="col-xs-5"> 
 
      <input type="text" class="form-control bb" placeholder="Bruch"> 
 
      </div> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
    <?php } ?> 
 
</div>

+0

Лично я дал бы каждому входному элементу имя, завернуть их в форме, а затем пользователь '$ ('# формы'). SerializeArray()' или '$ ('# форма') .serialize() 'в зависимости от того, что вы хотите делать с данными. – TheCarver

+0

Вы должны иметь возможность использовать $ (': input [type = text]') каждый и сохранять значения в массиве. Есть ли причина, по которой у вас есть все текстовые поля в качестве другого класса? Вы можете использовать их как один класс и использовать идентификаторы как уникальные идентификаторы. – dan5ermou5

+0

проблема в том, что может быть более одной панели заголовков и с более чем одним из каждого окна ввода? в конце концов, я хочу добавить Barkeeper к определенному событию с продажами, которые он сделал для этого события. Так что если бы было 4 бармена для одного события, я хочу добавить каждую свою личную статистику продаж в мою базу данных! –

ответ

0

Это будет что-то вроде этого,

$('.savebtn').click(function() { 
    $.each($('input:text.form-control'), function(){ 
     if ($(this).prop('class') === 'bti'){ 
     alert('form-control bti value = ' + $(this).val()));  
     } else if ($(this).prop('class') === 'bp'){ 
     alert('form-control bp value = ' + $(this).val()));  
     } else if ($(this).prop('class') === 'bb'){ 
     alert('form-control bb value = ' + $(this).val())); 
     } else if ($(this).prop('class') === 'bi'){ 
     alert('form-control bi value = ' + $(this).val())); 
     }); 
    }); 
0

Вы можете хранить значения в массиве и затем обработать этот массив, чтобы добавить значения в базе данных ,

Например, давайте создадим массив под названием values:

var values = []; 

Затем добавьте объект к этому массив со значениями соответствующих классов bti, bi, bp и bb как:

jQuery(document).ready(function ($) { 
    var formControl = $(".form-control"); 
    $('.savebtn').on("click", function() { 
     //how to i get the values? 
     for (var i = 0; i < formControl.length; i++) { 
      values[i] = { 
       name: formControl[i].className.split(" ")[1], 
       val: formControl[i].value 
      } 
     } 
    }); 
}); // ready 

Извещение мы нацелили селектор .form-control, который является общим класс для всех input полей.

JSFIDDLE

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