【问题标题】:Update hidden field value with array each time new item is added每次添加新项目时使用数组更新隐藏字段值
【发布时间】:2015-11-05 01:04:09
【问题描述】:

每次向桶中添加新饼干时,如何使用变量barrel的值更新隐藏的输入字段值?

所以当添加多个饼干时,字段值可以读取hobnob, Gingernut, Oreo

jQuery...

var barrel_items = [];
var barrel = barrel_items;

$('[data-biscuit]').click(function(){
    var biscuit = $(this).data('biscuit');
    add_to_barrel(biscuit);
});


function add_to_barrel(item){

    var name = '';
    switch(item){
        case 'custardcream':
            name = 'Custard Creams';
            break;

        case 'jammydodger':
            name = 'Jammy Dodgers';
            break;
        case 'bourbon':
            name = 'Bourbons';
            break;
        case 'nice':
            name = 'Nice';
            break;
        case 'chocolatedigestive':
            name = 'Chocolate Digestives';
            break;
        case 'digestive':
            name = 'Digestive';
            break;
        case 'fruitshortcake':
            name = 'Fruit Shortcake';
            break;
        case 'gingernut':
            name = 'Gingernut';
            break;
        case 'oreo':
            name = 'Oreo';
            break;
        case 'hobnob':
            name = 'Hobnobs';
            break;
        case 'cookie':
            name = 'Cookies';
            break;


    }

    // If item is already there in array, it's index will be returned,
    // otherwise indexOf() will return -1
    var indexOfItem = barrel_items.indexOf(item);
    if(indexOfItem !== -1)
    {
        $('.barrel .chosen').eq(indexOfItem).remove();
        barrel_items.splice(indexOfItem,1);
    }
    else
    {
        $('.barrel').append('<div class="chosen">' + name + '</div>');
        barrel_items.push(item);
        //alert(barrel);

    }

    if ( barrel.length ) {
        $('.form').addClass( "show");
    } else if (!barrel.length) {
        $('.form').removeClass( "show");
    }

}

html...

<input type="hidden" id="barrel" name="barrel" value="" />

【问题讨论】:

    标签: jquery arrays onchange var hidden-field


    【解决方案1】:

    就这么简单:

    $('[data-biscuit]').click(function(){
        var biscuit = $(this).data('biscuit');
        add_to_barrel(biscuit);
        $("#barrel").val(biscuit); //Add biscuit to barrel hidden input
    });
    

    【讨论】:

    • 啊,谢谢它并没有完全满足我的要求,您的代码更改了隐藏字段的值,我需要它来添加和删除多个值。所以隐藏字段可以包含cookie, custard cream, hobnob
    • 那么你可以这样做->$("#barrel").val($("#barrel").val() + biscuit);
    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多