2017-01-18 4 views
0

У меня есть веб-сайт одежды с использованием snipcart, который в настоящее время не имеет встроенного размера или селектора цветов, поэтому мне нужно сделать это сам, поместив его в описание, чтобы мы могли узнать, что отправить. Во всяком случае, мне нужно, чтобы выбранное значение цвета и размера отображалось в данных кнопок.php - echo select value without submit

Это мой код:

<?php 
    echo"<h4 class='ct3'>COLOR</h4> 
<select id='color' name='color'> 
$colorsHTML; 
</select> 

<h4 class='ct3'>SIZE</h4> 
<select name='size' id='size'> 
$sizesHTML; 
</select> 

<br> 
<br> 
<button 
    class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;' 
    data-item-id='2' 
    data-item-name='$name' 
    data-item-price='$price' 
    data-item-weight='0' 
    data-item-url='' 
    data-item-image='$image' 
    data-item-description='$description'> 
     ADD TO CART 
</button>"; 
?> 

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

<?php 
echo"<h4 class='ct3'>COLOR</h4> 
    <select id='color' name='color'> 
    $colorsHTML; 
    </select> 

    <h4 class='ct3'>SIZE</h4> 
    <select name='size' id='size'> 
    $sizesHTML; 
    </select> 

    <br> 
    <br> 
    <button 
     class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;' 
     data-item-id='2' 
     data-item-name='$name' 
     data-item-price='$price' 
     data-item-weight='0' 
     data-item-url='' 
     data-item-image='$image' 
     data-item-description='$description COLOR=blue SIZE=XL'> 
      ADD TO CART 
    </button>"; 
?> 

Я попытался это: но я думаю, что мне понадобится код для изменения данных кнопки при изменении значения для ввода выбора.

<button 
    class='snipcart-add-item list-group-item ct3 add_to_cart' style='background-color: black; color: white;' 
    data-item-id='2' 
    data-item-name='$name' 
    data-item-price='$price' 
    data-item-weight='0' 
    data-item-url='' 
    data-item-image='$image' 
    data-item-description='$description COLOR = <script type='text/javascript'> 
    $('#color').select(function() { 
     var model=$('#color').val(); 
     alert(model); 
    });</script> SIZE = <script type='text/javascript'> 
    $('#size').select(function() { 
     var model=$('#size').val(); 
     alert(model); 
    }); 
</script>'> 
     ADD TO CART 
</button> 
+0

Что именно вы ожидали? –

+0

@NishantNair Я думаю, что единственный способ - поместить выбранное значение в кнопку описания элемента данных при изменении – ItzBulkDev

+0

Вы что-то пробовали или просто ждали, когда мы напишем вам код? –

ответ

0

Ваше требование может быть достигнуто только с помощью какого-либо языка на стороне клиента сценариев, как JS или Jquery как:

Html:

<select id="size"> 
    <option value="small">Small</option> 
    <option value="large">Large</option> 
</select> 

<div id="response"> 
</div> 

Jquery:

$(document).ready(function(){ 
    $('#size').change(function(){ 
    $('#response').html($(this).val()); 
    // $('#response').attr('data-item-description', $(this).val()); 
    }); 
}); 

Working Fiddle

Updated Fiddle

Примечания: Не забудьте включить JQuery библиотеки

+0

ok, но есть ли способ вставить его в мое описание данных-данных вместо того, чтобы просто эхом в div? – ItzBulkDev

+0

Проверить обновленный ответ –

0

Для установки data -свойств элемента есть специальная .data() функции JQuery:

$(document).ready(function() { 

    $("#size").change(function() { 
     // get value of a selected option 
     var val = $(this).val(); 
     // set data-attribute of a button 
     $("button").data("color", val); 
    }); 

    $("#color").change(function() { 
     // get value of a selected option 
     var val = $(this).val(); 
     // set data-attribute of a button 
     $("button").data("size", val); 
    }); 
}); 

Обратите внимание, что size и color будет данных- атрибутов. Это значит, что в вашей кнопке они будут выглядеть так:

<button data-item-description='$description' data-color='blue' data-size='XL'> 
+0

Есть ли способ поместить цвет и размер в описание с переменной $ description? – ItzBulkDev

+0

Да, есть способ, но если вы хотите добавить цвет и размер в «описание», это означает, что иногда вам нужно выбрать __remove__ ранее выбранный цвет и размер. В этом случае это задание для регулярных выражений. Поэтому я советую вам использовать разные атрибуты данных. –

+0

причина, по которой я не могу использовать новые типы данных, потому что snipcart не поддерживает эти типы данных, поэтому включение его в описание является единственным решением. – ItzBulkDev