Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用java脚本在本地存储中存储动态值?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何使用java脚本在本地存储中存储动态值?

Javascript 如何使用java脚本在本地存储中存储动态值?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经动态创建了一个公交车座椅布局 以及如何在本地存储器中存储座位号 下面是我的html代码 <div> <h2> Choose seats by clicking the corresponding seat in the layout below:</h2> <div id="holder"> <ul id="place">

我已经动态创建了一个公交车座椅布局

以及如何在本地存储器中存储座位号

下面是我的html代码

<div>
            <h2> Choose seats by clicking the corresponding seat in the layout below:</h2>
            <div id="holder"> 
                <ul  id="place">
                </ul>    
            </div>
            <div style=""> 
            <ul id="seatDescription">
                <li style="background:url('available_seat_img.gif') no-repeat scroll 0 0 transparent;">Available Seat</li>
                <li style="background:url('booked_seat_img.gif') no-repeat scroll 0 0 transparent;">Booked Seat</li>
                <li style="background:url('selected_seat_img.gif') no-repeat scroll 0 0 transparent;">Selected Seat</li>
            </ul>
            </div>
            <div style="width:100%">
                <input type="button" id="btnShowNew" value="Show Selected Seats" />
                <input type="button" id="btnShow" value="Show All" />           
            </div>
        </div>
下面是我的js

$(function () {
     var settings = {
        rows: 6,
        cols: 10,
        rowCssPrefix: 'row-',
        colCssPrefix: 'col-',
        seatWidth: 35,
        seatHeight: 35,
        seatCss: 'seat',
        selectedSeatCss: 'selectedSeat',
        selectingSeatCss: 'selectingSeat'
    };

    var init = function (reservedSeat) {
        var str = [], seatNo, className;
            for (i = 0; i < settings.rows; i++) {
                for (j = 0; j < settings.cols; j++) {
                    seatNo = (i + j * settings.rows + 1);
                    className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString();
                    if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) {
                        className += ' ' + settings.selectedSeatCss;
                    }
                    str.push('<li class="' + className + '"' +
                        'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' +
                        '<a title="' + seatNo + '">' + seatNo + '</a>' +
                        '</li>');
                }
            }
        $('#place').html(str.join(''));
        var SeatNo = document.getElementById('place').value;
        localStorage.setItem('SeatNum', SeatNo);
    };

    //case I: Show from starting
    //init();

    //Case II: If already booked
    var bookedSeats = [5, 10, 25];
    init(bookedSeats);


    $('.' + settings.seatCss).click(function () {
        if ($(this).hasClass(settings.selectedSeatCss)){
            alert('This seat is already reserved');
        }
        else{
            $(this).toggleClass(settings.selectingSeatCss);
        }
    });

    $('#btnShow').click(function () {
        var str = [];
        $.each($('#place li.' + settings.selectedSeatCss + ' a, #place li.'+ settings.selectingSeatCss + ' a'), function (index, value) {
            str.push($(this).attr('title'));
        });
        alert(str.join(','));
    })

    $('#btnShowNew').click(function () {
        var str = [], item;
        $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
            item = $(this).attr('title');                   
            str.push(item);                   
        });
        alert(str.join(','));
    })
});
$(函数(){
变量设置={
行:6,
科尔斯:10,
rowCssPrefix:“行-”,
colCssPrefix:'col-',
西雅图:35,
座位号:35,
座位:'座位',
SelectedSeatCS:“selectedSeat”,
selectingSeatCss:“selectingSeat”
};
var init=函数(reservedSeat){
var str=[],seatNo,className;
对于(i=0;i”+
“+seatNo+”+
“”);
}
}
$('#place').html(str.join('');
var SeatNo=document.getElementById('place').value;
setItem('SeatNum',SeatNo);
};
//案例一:从一开始就展示
//init();
//案例二:如果已经预订
var bookedSeats=[5,10,25];
初始(预订座位);
$('.+settings.seatCss)。单击(函数(){
if($(this).hasClass(settings.selectedseatcs)){
警报(“此座位已预订”);
}
否则{
$(this).toggleClass(settings.selectingSeatCss);
}
});
$('#btnShow')。单击(函数(){
var-str=[];
$.each($('#place li.'+settings.selectedSeatCss+'a,#place li.'+settings.selectingSeatCss+'a'),函数(索引,值){
str.push($(this.attr('title'));
});
警报(str.join(',');
})
$('#btnshownshow')。单击(函数(){
var str=[],项目;
$.each($('#place li.'+settings.selectingSeatCss+'a'),函数(索引,值){
item=$(this.attr('title');
str.push(项目);
});
警报(str.join(',');
})
});
如何在本地存储器中存储座位号

如何在本地存储器中存储动态值

我已经使用jquery和java脚本动态创建了所有座位…

在您的代码中
#place
是ul,您可以将html存储到其中

当您通过
document.getElementById('place').value获取值时,它返回
undefined
,因此
localStorage.setItem('SeatNum',SeatNo)将设置未定义的

当您使用
localStorage.getItem('SeatNum')
获取值时,您将从中获取
undefined

您将需要存储选定的座位值,而不是html

我在这里粘贴了你的代码,你可以调试它。

在你的代码中
#place
是ul,你可以将html存储到其中

当您通过
document.getElementById('place').value获取值时,它返回
undefined
,因此
localStorage.setItem('SeatNum',SeatNo)将设置未定义的

当您使用
localStorage.getItem('SeatNum')
获取值时,您将从中获取
undefined

您将需要存储选定的座位值,而不是html


这里我已经粘贴了你的代码,你可以调试它。

可能是你的重复alerady编写的代码,其中它不工作,但在本地存储中没有显示值。你可以调试以找到它不工作的地方。可能是你的重复alerady编写的代码,如果它不工作,但在本地存储中不显示值,您可以调试以找到它不工作的位置。如何执行该操作?是否需要将所有座位号存储到本地存储?不只存储在本地存储检查更新的jsbin签入控制台窗格中,您将看到已保留并从本地存储中选择座位I还有一个疑问是如何在dom中打印选定的座位号?@programmemearchow来执行此操作?是否需要将所有座位号存储到localstorage?不需要仅将选定的座位号存储在local storageCheck updated jsbin Check in console窗格中,您将看到已预订并从local Storages中选择座位我还有一个疑问如何在dom中打印所选的座位号?@programmarchears
$(function () {
     var settings = {
        rows: 6,
        cols: 10,
        rowCssPrefix: 'row-',
        colCssPrefix: 'col-',
        seatWidth: 35,
        seatHeight: 35,
        seatCss: 'seat',
        selectedSeatCss: 'selectedSeat',
        selectingSeatCss: 'selectingSeat'
    };

    var init = function (reservedSeat) {
        var str = [], seatNo, className;
            for (i = 0; i < settings.rows; i++) {
                for (j = 0; j < settings.cols; j++) {
                    seatNo = (i + j * settings.rows + 1);
                    className = settings.seatCss + ' ' + settings.rowCssPrefix + i.toString() + ' ' + settings.colCssPrefix + j.toString();
                    if ($.isArray(reservedSeat) && $.inArray(seatNo, reservedSeat) != -1) {
                        className += ' ' + settings.selectedSeatCss;
                    }
                    str.push('<li class="' + className + '"' +
                        'style="top:' + (i * settings.seatHeight).toString() + 'px;left:' + (j * settings.seatWidth).toString() + 'px">' +
                        '<a title="' + seatNo + '">' + seatNo + '</a>' +
                        '</li>');
                }
            }
        $('#place').html(str.join(''));
        var SeatNo = document.getElementById('place').value;
        localStorage.setItem('SeatNum', SeatNo);
    };

    //case I: Show from starting
    //init();

    //Case II: If already booked
    var bookedSeats = [5, 10, 25];
    init(bookedSeats);


    $('.' + settings.seatCss).click(function () {
        if ($(this).hasClass(settings.selectedSeatCss)){
            alert('This seat is already reserved');
        }
        else{
            $(this).toggleClass(settings.selectingSeatCss);
        }
    });

    $('#btnShow').click(function () {
        var str = [];
        $.each($('#place li.' + settings.selectedSeatCss + ' a, #place li.'+ settings.selectingSeatCss + ' a'), function (index, value) {
            str.push($(this).attr('title'));
        });
        alert(str.join(','));
    })

    $('#btnShowNew').click(function () {
        var str = [], item;
        $.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
            item = $(this).attr('title');                   
            str.push(item);                   
        });
        alert(str.join(','));
    })
});