最近一個月,恍若隔世,天天加班,昨晚終於發版了,今天才喘一口氣。有時候,即便你工作效率再怎么高,擼碼再怎么快也無可避免的會加班。不信的話,可以先給你定一個交付時間,然后不斷的給你加需求,就讓你一個人做,偶爾再給你來幾下變更,看你怎么死?本來做項目,需求、資源、時間就是一個鐵三角,一旦你強行要打破這個平衡,那么注定就是杯具了.........而在天朝,很多時候,是需求還沒定,先給你定時間,然后資源基本上也是定的,又不願在需求上做減法,甚至還做加法,結果就呵呵了......領導層只看結果,不管你過程,那么程序員面對這樣的情形,也有自己的反抗方式:我偷工減料還不行么?可是出來混,總是要還的,然后就是一個惡性循環...........
劉德華的《練習》可以形容我本月的狀態:“我已開始加班,開始天天加班,人快猝死在電腦旁,試着刪除數據庫再跑路,那些曾經准點下班的美好和回憶.....”。
用《圓月彎刀》的話說:“有些人,縱然天天擼碼,也永遠無法成為碼中之神........”。
感覺全棧程序員的杯具就是項目全是你一個人做!美工、前端、接口、數據庫、移動app、部署、運維、售后........
我已經不想再做程序猿,因為太苦逼,在還沒有想好接下來做啥之前,我會一直苦逼下去.......
吐槽完畢,繼續記錄和分享。
bootstrapValidator動態加載數據的下拉框必填驗證失效
有那種數據是動態獲取的下拉列表類似的,如select,
兩處要修改,一處是:excluded: [':disabled']
$('form').bootstrapValidator({ message: 'This value is not valid', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, excluded: [':disabled'],
另一處是在字段上添加觸發條件:trigger: "change",
ORG_CODE: { trigger: "change", validators: { notEmpty: { message: '所屬項目不能為空' } } },
對於隱藏字段賦值后,沒有觸發驗證的問題,可以在后面添加change()方法,如下:
$('#' + _equipmentTree.setting.name).val(sid.trim(',')).change();
bootstrap-select組件搜索無效
組件初始化代碼:$('#BuildList').selectpicker({});
當select中的數據是動態加載的時候,當數據加載完之后要記得添加如下代碼:
$("#BuildList").selectpicker('refresh');
jQuery判斷checkbox是否選中的方法
方法一:
if ($("#checkbox-id").get(0).checked) { // do something } 方法二: if($('#checkbox-id').is(':checked')) { // do something } 方法三: if ($('#checkbox-id').attr('checked')) { // do something }
ztree全選反選
var zTree = $.fn.zTree.getZTreeObj("zt_EQUIPMENT_IDs"); zTree.checkAllNodes(isChecked);
isChecked為true是全選,false為反選。
使用jquery控制div的顯示與隱藏
使用jquery控制div的顯示與隱藏,一句話就能搞定,例如:
1.$("#id").show()表示為display:block,
$("#id").hide()表示為display:none;
2.$("#id").toggle()切換元素的可見狀態。如果元素是可見的,切換為隱藏的;如果元素是隱藏的,則切換為可見的。
3.$("#id").css('display','none');//隱藏
$("#id").css('display','block');//顯示
或者
$("#id")[0].style.display='none';
display=none 控制對象的隱藏
display=block控制對象的顯示
4.$("#id").css('visibility','hidden');//元素隱藏
$("#id").css('visibility','visible');//元素顯示
CSS visibility 屬性規定元素是否可見。
visible 元素可見。
hidden 元素不可見。
collapse 在表格元素中使用時,此值可刪除一行或一列,但它不影響表格的布局。被行或列占據的空間會留給其他內容使用。如果此值被用在其他的元素上,會呈現為 "hidden"。
inherit 從父元素繼承 visibility 屬性的值。
bootstrap表頭縮在一起
當bootstrap用在tab中或者是用在remote加載的一個新界面中的時候,有時候會出現表頭自動縮在一起的問題。例如:
調用代碼如下:
$('#defaultModal').modal({ show: true, backdrop: 'static', remote: obj.detailUrl + "?equipid=" + encodeURIComponent(equipid) + "&&no=" + billNo + "&&state=" + state + "&&MenuId=" + $("#hidfMenuId").val() });
解決方式,添加如下代碼:
$("#defaultModal").on("shown.bs.modal", function () { $.fn.dataTable.tables({ visible: true, api: true }).columns.adjust(); });
雖然解決了表頭縮在一起的問題,但是還會存在表頭閃一下的問題,這是因為在自動計算表頭的寬高。
其它方案:在datatable初始化完成之后,設置表頭的寬度。(前提:指定每一列的寬度)
setTimeout(function () { var _table = $("#table_maintainTemplate_select_wrapper .dataTables_scrollHeadInner table"); alert(_table.width()) if (200 < _table.width() < 500) { $("#table_maintainTemplate_select_wrapper .dataTables_scrollHeadInner table").width(566); } }, 300);
取不到input的value值
有時候,我們會發現html中value中明明有值了,但是通過js獲取不到的情況。如:通過ajax動態加載的界面。
解決方式:
為text添加onchange事件
<input id="txtCode" type="text" class="form-control input-inline" onchange="changeValue(this)">
js代碼如下:
var _txtCode; function changeValue(obj) { $(obj).attr("value", $(obj).val()); _txtCode = $(obj).val(); }
..................
bootstrap模態框內容只加載一次
解決辦法:在js加上以下代碼
$('#addOrEditDialog').on("hidden.bs.modal", function() { $(this).removeData("bs.modal"); $(".modal-content").children().remove(); });
bootstrap多層modal彈窗同時關閉的解決辦法
bootstrap多層modal彈窗時。當子窗口關閉時,所有父窗口一起關閉。
原因是bootstrap在窗口關閉事件委托時,委托給所有窗口。
如源碼:
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
改進為
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]:first', $.proxy(this.hide, this)) this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]:last', $.proxy(this.hide, this))
注意:此方法僅對頂部關閉按鈕有效,底部關閉按鈕無效。
bootstrap刷新時停留在當前頁
var table = $('#example').DataTable(); // Sort by column 1 and then re-draw table.draw( false );
這個找了很久