获取ddSlick所选项目以动态添加到页面上的默认总计

时间:2015-03-26 08:42:08

标签: javascript jquery html

我试图获取所选下拉菜单项的值,以动态添加到文本输入字段中的总数,其中id ="结果"当/选择一个项目时。

我正在使用ddSlick库。

来自id =" basic"的值(下面)是选择任何选项之前总数的基础值(下拉菜单中的所选项目x 5菜单)。

<input id="basic" type="radio" name="basic" value="850.00" checked="checked" class="hide">

选择之前项目的代码:

<div id="arms" class="dd-container">
    <div class="dd-select">
        <input class="dd-selected-value" type="hidden">
</div>

选择项目后的代码(在选择时动态添加):

<div id="arms" class="dd-container">
    <div class="dd-select">
        <input class="dd-selected-value" type="hidden" value="150.00|2" name="arm">
</div>

来自另外2个下拉菜单中的所选项目:

<div id="mechanism" class="dd-container">
    <input class="dd-selected-value" type="hidden" value="0.00|18" name="mechanism">
</div>

<div id="fabric" class="dd-container">
    <input class="dd-selected-value" type="hidden" value="0.00|185" name="fabric">
</div>

项目的所有值都使用以|分隔的价格值进行格式化后跟产品ID:value =&#34; price | ID&#34;

这是id =&#34;结果&#34;输入文本字段我想将所选项目中的值添加到:

<div class="totalHead">Total price: R<input type="text" name="total" id="result" class="result right">.00 </div>

每个下拉菜单的jQuery代码(我使用的是WordPress的jQuery()值):

jQuery(document).ready(function(){
        $('#arms').ddslick({
            data:armData,
            width:380,
            selectText: "Select your arm rest",
            onSelected: function (data) {
        $('#arms .dd-selected-value').prop('name', 'arm');
        var arms = $("#arms .dd-selected-value").val().split('|');
            }
        });
    $('#mechanism').ddslick({
            data:mechData,
            width:380,
            selectText: "Select your mechanism",
            onSelected: function (data) {
        $('#mechanism .dd-selected-value').prop ('name', 'mechanism');
        var mechanism = jQuery("#mechanism .dd-selected-value").val().split('|');
            }
        });
    $('#base').ddslick({
            data:baseData,
            width:380,
            selectText: "Select your base",
            onSelected: function (data) {
        $('#base .dd-selected-value').prop ('name', 'base');
        var base = jQuery("#base .dd-selected-value").val().split('|');
            }
        });
    $('#myDropdown').ddslick({
            data:fabricData,
            width:380,
            selectText: "Select your fabric (or Back rest)",
            onSelected: function (data) {
        $('#myDropdown .dd-selected-value').prop ('name', 'fabric');
        var fabric = jQuery("#myDropdown .dd-selected-value").val().split('|');
            }
        });
        $('#myBaseDropdown').ddslick({
            data:fabricData,
            width:380,
            selectText: "Select your base fabric",
            onSelected: function (data) {
                //console.log(data);
        $('#myBaseDropdown .dd-selected-value').prop ('name', 'fabricBase');
        var fabricBase = jQuery("#myBaseDropdown .dd-selected-value").val().split('|');
            }
        });
     });

这是我开发的代码,用于在选择项目时获取值并总计值:

 jQuery(document).ready(function(){

    jQuery('#arms .dd-selected-value', '#mechanism .dd-selected-value', '#base .dd-selected-value', '#myDropdown .dd-selected-value', '#myBaseDropdown .dd-selected-value', '[name="quantity"]').on('change', function(){

    var basic = jQuery("#basic").val();
    var quantity = jQuery("[name='quantity']");

    if("#arms .dd-selected-value".length > 0){
        var b = parseInt(basic[0], 10);
        var a = parseInt(arms[0], 10);
        var m = parseInt(mechanism[0], 10);
        var bs = parseInt(base[0], 10);
        var f = parseInt(fabric[0], 10);
        var fb = parseInt(fabricBase[0], 10);
        var q = parseInt(quantity.val(), 10);
        jQuery("#result").val((b + a + m + bs + f + fb) * q);
    }
    });

jQuery('#arms .dd-selected-value', '#mechanism .dd-selected-value', '#base .dd-selected-value', '#myDropdown .dd-selected-value', '#myBaseDropdown .dd-selected-value', '[name="quantity"]').trigger('change', function () {
});

我有默认值jQuery(&#34; #basic&#34;)。val();在页面加载时显示,但无法将所选项目添加到默认总计。

任何人都可以帮助告诉我为什么这不起作用吗?

另外,因为&lt; dd-selected-value&#39;在选择项目之前,输入字段没有值,.on(&#39;更改&#39;)事件是否相关?如果不是,我应该用什么来捕捉&#34;选择&#34;动作?

0 个答案:

没有答案