1. 程式人生 > >我想要革命想要解脫....

我想要革命想要解脫....

  最近一個月,恍若隔世,天天加班,昨晚終於發版了,今天才喘一口氣。有時候,即便你工作效率再怎麼高,擼碼再怎麼快也無可避免的會加班。不信的話,可以先給你定一個交付時間,然後不斷的給你加需求,就讓你一個人做,偶爾再給你來幾下變更,看你怎麼死?本來做專案,需求、資源、時間就是一個鐵三角,一旦你強行要打破這個平衡,那麼註定就是杯具了.........而在天朝,很多時候,是需求還沒定,先給你定時間,然後資源基本上也是定的,又不願在需求上做減法,甚至還做加法,結果就呵呵了......領導層只看結果,不管你過程,那麼程式設計師面對這樣的情形,也有自己的反抗方式:我偷工減料還不行麼?可是出來混,總是要還的,然後就是一個惡性迴圈...........

  劉德華的《練習》可以形容我本月的狀態:“我已開始加班,開始天天加班,人快猝死在電腦旁,試著刪除資料庫再跑路,那些曾經準點下班的美好和回憶.....”。

  用《圓月彎刀》的話說:“有些人,縱然天天擼碼,也永遠無法成為碼中之神........”。

  感覺全棧程式設計師的杯具就是專案全是你一個人做!美工、前端、介面、資料庫、移動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();
    }

..................