Knockout.js隨手記(8)

Halower發表於2013-07-31

visible, disable, css繫結

   這個例子非常簡單,主要演示如何通過屬性控制html元素的顯示與否(visible),可用性(disable)以及根據屬性新增相應的CSS樣式。

先簡單的看一段程式碼:

<p>
    <input id="isvip" type='checkbox' data-bind="checked: isVip" /><label for="isvip">是否是會員</label>
  </p>
   <p>
    你的使用者名稱是:
    <input type='text' data-bind="value: username, enable: isVip,css: {account: username().indexOf('G')>-1}"/>
    <span data-bind="visible: isVip">尊貴的會員歡迎你訪問!</span>
   </p>

這段程式碼幾乎不需要解釋,非常的簡單易懂,就是控制input元素的可用性,根據其中的文字新增樣式,和控制隱藏元素的顯示。

完整程式碼如下:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Test</title>
    <script src="~/Scripts/jquery-2.0.3.js"></script>
    <script src="~/Scripts/knockout-2.3.0.js"></script>
    <style type="text/css">
      .account {
             border-bottom-color:#0094ff;
             background-color:#b6ff00;
             border-bottom-width:2px;
        }
    </style>
</head>
<body>
   <p>
    <input id="isvip" type='checkbox' data-bind="checked: isVip" /><label for="isvip">是否是會員</label>
  </p>
   <p>
    你的使用者名稱是:
    <input type='text' data-bind="value: username, enable: isVip,css: {account: username().indexOf('G')>-1}"/>
    <span data-bind="visible: isVip">尊貴的會員歡迎你訪問!</span>
   </p>
    <script type="text/javascript">
        function ViewModel() {
            var self = this;
            self.isVip = ko.observable(false);
            self.username = ko.observable("halower@@");
        }
        $(function () {
            ko.applyBindings(new ViewModel());
        });
    </script> 
</body>
</html>

執行效果

備註:

    本文版權歸大家共用,不歸本人所有,所有知識都來自於官網支援,書本,國內外論壇,大牛分享等等......後續將學習knockout.js的常用功能。

                                如果你喜歡本文的話,推薦共勉,謝謝!

相關文章