2015-06-02 4 views
2

У меня есть 2 комбобокса.Выбор значений из выпадающего списка

<select name="ticketType"> 
     <option selected>Ticket type</option> 
     <option value="55">Promo pass</option> 
     <option value="65">Regular pass</option> 
     </select> 
     <select name="campingNumber"> 
     <option selected>Camping spots</option> 
     <option value="0">0</option> 
     <option value="30">1</option> 
     <option value="50">2</option> 
     <option value="70">3</option> 
     <option value="90">4</option> 
     <option value="110">5</option> 
     <option value="130">6</option> 
     </select> 
     <p>Price: € <span id="price"></span></p> 

То, что я хочу сделать, это принимать значения от обоих, и добавить их вместе, все работает, но если выбрать другое значение из выпадающего списка это держать сложении в общей сложности. Это мой JQuery:

var price=0; 
$(document).ready(
    function() { 
    $('select[name=ticketType]').change(
     function(){ 
     price =price + parseInt($(this).val()); 
     $('#price').text(price); 
     } 
    ); 
    } 
    ); 
$(document).ready(
    function() { 
    $('select[name=campingNumber]').change(
     function(){ 
     price =price + parseInt($(this).val()); 
     $('#price').text(price); 
     } 
    ); 
    } 
); 

И это значение, которые я хочу быть обновлен базами данных, билет все работает нормально, но для числа кемпинга, значение цены кемпинга места, а цифры от 0- 6 для того, сколько людей вы покупаете место для кемпинга, как я могу добавить это в таблицу в базе данных? Для базы данных я следующей таблице:

person_nb (int 10) 
price (int 10) 

Так значение из числа кемпинга я хочу быть добавлены к цене, и в person_nb Я хочу, чтобы значение между для campingNumber ComboBox.

$query2 = $conn-> prepare("INSERT INTO user_acc (email, ticket_price) VALUES (:email2, :ticket);"); 
$query2->bindParam(':email2', $email);' '$query2->bindParam(':ticket', $ticketType); 
$query3 = $conn->prepare("INSERT INTO reservation (price, person_nb) VALUES (:price, :personNumber);"); 
$query3-> bindParam(':price', $campingPrice); 
$query3-> bindParam(':personNumber', $totalNumberOfPersons); 

Так это те запросы, но totalNumberOfPersons я не знаю, как получить значение. Например, «1» цена 30, а число лиц, должно быть 1.

+0

Я считаю, что вам нужно использовать AJAX для вставки данных в базу данных – Deep

+0

Я обновляю базу данных с помощью запроса из register.php, все обновляется, когда пользователь регистрируется, поэтому информация о пользователе обновляется, цена билета также, но для кемпинга только цена обновляется, если он выбирает более одного места для кемпинга, я не знаю, как поместите это в базу данных, и с AJAX это немного сложно, но я не слишком много знаю об этом. – Alexandru

ответ

1

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

var price=0; 
var pricex = 0; 
var pricey = 0; 
    $(document).ready(
     function() { 
     $('select[name=ticketType]').change(
      function(){ 
      pricex = parseInt($(this).val()); 
      price = pricex + pricey; 
      $('#price').text(price); 
      } 
     ); 
     } 
     ); 
    $(document).ready(
     function() { 
     $('select[name=campingNumber]').change(
      function(){ 
      pricey = parseInt($(this).val()); 
      price = pricex + pricey; 
      $('#price').text(price); 
      } 
     ); 
     } 
    ); 
+0

Он работает, спасибо, любые идеи, как обновить таблицу для кемпинга? Цена будет обновлена ​​со значением из выбранного варианта, но я не знаю, как обновить количество людей в кемпинге. – Alexandru

+0

Мне нужно будет увидеть ваш код конца для этого @Alexandru и код, который вы используете, чтобы опубликовать его на своем конце –

+0

@Alexandru можете изменить свой вопрос с помощью этого кода? это боль, чтобы посмотреть на код, подобный этому –

0

Попробуйте

var price; 
$(document).ready(
function() { 
$('select[name=ticketType]').change(
    function(){ 
    price=0; 
    price =price + parseInt($(this).val()) + parseInt($('[name="campingNumber"]').val()); 
    $('#price').text(price); 
    } 
); 
    } 
); 
$(document).ready(
    function() { 
    $('select[name=campingNumber]').change(
    function(){ 
     price=0; 
    price =price + parseInt($(this).val()) + parseInt($('[name="ticketType"]').val()); 
    $('#price').text(price); 
    } 
    ); 
} 
); 
+0

что вы ожидаете? когда вы выбираете стоимость, нужно изменить цену? цена - это одно значение или требуется два разных итоговых значения этих двух комбинированных полей? – sujivasagam

+0

Чтобы добавить значения вместе, значение from ticketPrice и campingNumber, это общая стоимость, которую необходимо оплатить после регистрации. Я сказал, заплатил, потому что это мой первый год окончания проекта, поэтому на данный момент только регистрация должна работать. Этот я исправил с кодом @Jememy C., но все еще имею проблемы с обновлением базы данных для person_nb, потому что я не знаю, как получить значение относительно числа людей, потому что значение, которое я использовал в combobox, это цена для кемпинга и билета. – Alexandru

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