كيف يمكنني التعامل مع كميات كسور في عربة التسوق متجر إلكتروني؟

StackOverflow https://stackoverflow.com/questions/635760

سؤال

وأنا بناء متجر إلكتروني وأنا بحاجة إلى القدرة على إضافة كميات كسور في عربة التسوق.

ومسؤول من شأنه أن يضع قاسما لكل منتج (على سبيل المثال سيكون 8 يعني أن الحد الأدنى للشراء هو 1/8 من الحالة)

وأنا حاليا استخدام مسج المنزلق وعرض كمية في asp:Label الذي يعمل على ما يرام على صفحات المنتج، إلا أنها خرجت عن نطاق السيطرة مع المتزلجون متعددة في العربة (ولست بحاجة للسماح للعميل لضبط الكميات الموجودة في عربة).

وأنا حقا أريد أن أبقى بعيدا عن القوائم المنسدلة قبيحة.

وأي أفكار؟

تحرير:

وقاسم ثابت هو وارد ... 4/8 يجب أن تظهر كما 02/01 ...

EDIT2:

وسهولة الاستخدام أمر مهم للغاية، + 1 / قاسم وزيادة النقرة لا تعمل بشكل جيد جدا عندما يريد العميل للانتقال من 1/16 قضية إلى 3 حالات

EDIT3:

وRichB: إضافة SKU لجزء من قضية يعود الى مشكلة القاسم الثابتة. اذا كنت إضافة SKU ل 1/16 من هذه الحالة، وكان المستخدم يريد 1/2 من هذه الحالة، سيكون لديهم لأجل 8x1 / 16 و[ليس باردا]. إذا كنت ترغب في إضافة SKU لكل جزء ممكن (15 طرازات في هذا المثال - وهذا سيجعل الصفحة المنتج الخاص بي وطريقة السلة لتشوش

هل كانت مفيدة؟

المحلول 5

وانتهى بي الأمر ربط صفحة المنتج على كميات في عربة، لذلك يمكن للمستخدمين تحديث الكسور مع المنزلق على صفحة المنتج.

نصائح أخرى

وطريقة واحدة ستكون بالنسبة لك أن يكون نص كمية متبوعا "/ [قاسم]" السلسلة التي تسمح لهم أن أقول شيئا مثل [4] / 8 لتعيين نصف حالة 8.

ولديك المشكلة الوحيدة هناك وأنت تسير إلى وجود طريقة بسيطة لتتبع ما هي تلك القواسم.

وحل آخر ممكن (منذ كنت ضد وجود قاسم ثابت)، هو استخدام سلسلة من أعلى / أسفل السهام / أزرار / مهما ويمكنك استخدام صعودا وهبوطا لزيادة أو إنقاص كمية المنتج (وعلى كل زيادة / إنقاص بشكل صحيح بتحديث قيمة كسور في التسمية).

تعديل : في. يمكن زيادة صقل ذلك عن طريق إضافة في زر منفصل زيادة / إنقاص لتعديل كمية من حالة كاملة بدلا من كمية كسور واحد

وكنت أود أن يكون حقل واحد، والتي يمكن أن تعدل على كمية مثل 3 6/4. ومع ذلك، عندما يفقد مجال التركيز، وسيتم تحويل هذا إلى أبسط جزء المختلط (4 1/2 لبلدي على سبيل المثال).

وهذا يتيح مرونة المدخلات وكذلك تنسيق عدد لطيفة.

<اقتباس فقرة>   

على تحديث : في OP يقول "هذا هو بالضبط ما أنا باستخدام الآن، ولكن عندما نصل الى السلة [ولها 10 سلعة في العربة] إدارة المتزلجون متعددة يصبح إشكالية هذا السبب أنا '. م تبحث عن حل بديل "

هل كان شيء من هذا القبيل الأعمال التالية؟

وانظر انها تعمل هنا . (تحريره هنا )

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<link rel="stylesheet" href="http://jquery-ui.googlecode.com/svn/tags/1.7/themes/base/ui.all.css" type="text/css" /> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7/jquery-ui.min.js"></script> 

<div class="demo"> 
    <p> 
        <label for="amount">amount :</label> 
        <input type="text" id="amount" /> 
    </p>     
 <div id="slider"></div> 
</div>

var maxDenominator = 16;
var maxWholeCases = 50;

function toFraction(sliderValue){
  var amount = sliderValue / maxDenominator;

  var whole = Math.floor(amount);
  var fractional = "";

  if (amount - whole)
     fractional =  fractApprox(amount - whole, maxDenominator);

  return whole + " " + fractional + " cases";
}

$(function() {
    $("#slider").slider({
        value:10 * maxDenominator,
        min: 0,
        max: maxWholeCases * maxDenominator,
        slide: function(event, ui) {
            $("#amount").val(toFraction(ui.value));
        }
    });
    $("#amount").val(toFraction($("#slider").slider("value")));
});


// from http://www.geneffects.com/briarskin/programming/newJSMathFuncs.html#fractApprox
function fractApprox(x,maxDenominator) {
    // Created 1997 by Brian Risk.  http://brianrisk.com
    maxDenominator = parseInt(maxDenominator);
    var approx = 0;
    var error = 0;
    var best = 0;
    var besterror = 0;
    for (var i=1; i <= maxDenominator; i++) {
        approx = Math.round(x/(1/i));
        error = (x - (approx/i))
        if (i==1) {best = i; besterror = error;}
        if (Math.abs(error) < Math.abs(besterror)) 
            {best = i; besterror = error;}
    }
    return (Math.round(x/(1/best)) + "/" + best);
}

وسوف أظل بعيدا عن استخدام وحدات كسور. بدلا من محاولة شيء من هذا القبيل.

[_ _ _] الحالات [_ _ _] الوحدات الفردية

واستخدام 2 طرازات (1)، لحالة، و 1 لوحدة الفردية.

وأو تحديد الانقسام باعتباره جزء من القضية، مع product.quantity_per_case.

عند ركضت المطاعم، ويهمني أمر مثل هذا طوال الوقت. فهو يتطلب أي ما يقرب من التفكير، كما كنت لا تتعامل مع الكسور، ولكن الأعداد الصحيحة من الحالات وأرقام كاملة من وحدة.

ومعظم الناس سوف تحتاج إما حالات أو انشقاقات، ولكن ليس على حد سواء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top