function setCookie(name, value) { var t = new Date(); t.setTime(t.getTime() + 30 * 24 * 3600 * 1000); document.cookie = escape(name) + "=" + escape(value) + ";path=/;expires=" + t.toGMTString(); } function getCookie(name) { if (new RegExp("\\b" + name + "=([^;]+)", "g").test(document.cookie)) return unescape(RegExp.$1 || ''); return ''; }
今天遇到一个很有意思的问题,用jquery操作select列表框,动态将某个option的selected属性赋为"selected",在火狐和chrom下都能实现其赋值,但是在火狐下select列表框的文本并没有变化,在chrome下是有变化的,chrome下是正确的结果,也是我想要的结果。网上查了一下,原来处理让option选中的方法有问题。
html代码
<select id="dict1"> <option class="dict1_all" value="0">全部</option> <option value="1">root</option> <option value="8">root1</option> <option value="9">root2</option> </select> <select id="dict2"> <option class="dict2_all" value="0">全部</option> <option style="display: none;" class="fid_1" value="2">子类1</option> <option style="display: none;" class="fid_1" value="3">子类2</option> <option style="" class="fid_8" value="4">子类3</option> </select>
JS代码
$('#dict1').change(function() { var dictId = $(this).val(); //下面这种方法,再FF下赋值是成功的,但是select列表框的文本不会变化,在chrome下会变化 //$('#dict2 .dict2_all').attr('selected', 'true'); //下面这种方法,可以使select列表框的文本发生变化 $('#dict2').val(0); if(dictId !== 0) { $('#dict2').children().not('.dict2_all').hide(); $('#dict2 .fid_' + dictId).show(); } });
document.onkeydown = function(e){ var ev = document.all ? window.event : e; if(ev.keyCode==13) { $("#search_img").trigger('click'); } }
if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE6.0"){ alert("IE 6.0"); }else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE7.0"){ alert("IE 7.0"); }else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE8.0"){ alert("IE 8.0"); }else if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0"){ alert("IE 9.0"); }
今天遇到一个关于JS的日期和时间戳相互转换的问题,在网上找了许久略有发现,自己写了两个方法,记录一下。
/** * 返回给定时间部件的时间戳 */ function dateToTimestamp(year, month, day, hours, minutes, seconds) { var date = new Date(); year = year.length == 0 ? date.getFullYear() : year; month = month.length == 0 ? date.getMonth() + 1 : month + 1; day = day.length == 0 ? date.getDate() : day; hours = hours.length == 0 ? date.getHours() : hours; minutes = minutes.length == 0 ? date.getMinutes() : minutes; seconds = seconds.length == 0 ? date.getSeconds() : seconds; // console.log('year = ' + year + ' month = ' + month + ' day =' + day + ' hours = ' + hours + ' minutes=' + minutes + ' seconds = ' + seconds ); return Date.UTC(year, month, day, hours, minutes, seconds) / 1000 - 3600 * 8 } /** * 返回给定时间戳对应的日期格式 */ function timestampToDate(timestamp, dateDelimiter, timeDelimiter) { var date = new Date(); timestamp = timestamp == undefined ? date.getTime() : timestamp; dateDelimiter = dateDelimiter == undefined ? '-' : dateDelimiter; timeDelimiter = timeDelimiter== undefined ? ':' : timeDelimiter; var newDate = new Date(parseInt(timestamp) * 1000); var year = newDate.getFullYear(); var month = newDate.getMonth() < 10 ? '0' + newDate.getMonth() : newDate.getMonth(); var day = newDate.getDate() < 10 ? '0' + newDate.getDate() : newDate.getDate(); var hours = newDate.getHours() < 10 ? '0' +newDate.getHours() : newDate.getHours(); var minutes = newDate.getMinutes() < 10 ? '0' + newDate.getMinutes() : newDate.getMinutes(); var seconds = newDate.getSeconds() < 10 ? '0' + newDate.getSeconds() : newDate.getSeconds(); var fomateDateTime = year + ''+ dateDelimiter + '' + month + '' + dateDelimiter +''+ day + ' ' + hours + '' + timeDelimiter + '' + minutes +'' + timeDelimiter + '' + seconds // console.log('fomateDateTime = ' +fomateDateTime); return fomateDateTime; }