手记 / 基于jQuery实现咖啡订单管理简单应用

基于jQuery实现咖啡订单管理简单应用

8个月前718浏览0评论

这款应用主要实现以下几个功能:

1.在表格中输入客户姓名并选择咖啡,点击“Add”能够把数据传至table。
2.table的每生成一行新数据,其status列都会出现一个小咖啡图标,表示正在制作中。
3.点击这个小咖啡图标,可以变成一个绿色的勾勾,表示该订单已经完成。
4.点击Export可以把表格数据导出为CSV文件。

HTML:

<p class="container-fluid">
    <h1>Coffee Orders</h1>
    <hr>
    <p class="row">
      <!-- order form -->
      <p class="col-xs-4 col-sm-4 col-md-4 col-lg-4 order-form">
        <form class="form-inline" role="form">
          <p class="form-group">
            <p class="input-group">
              <p class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></p>
              <input type="text" class="form-control order-name" id="name" required="required" placeholder="Name">
            </p>
            <SELECT class="SELECTpicker" id="drink">
              <option>Latte</option>
              <option>Moccha</option>
              <option>Cappuchino</option>
              <option>Fat White</option>
            </SELECT>
          </p>
          <button type="button" class="btn btn-primary add-order">Add</button>
          <button type="reset" class="btn btn-primary pull-right">Reset</button>
        </form>
      </p>
      <!-- order list -->
      <p class="col-xs-8 col-sm-8 col-md-8 col-lg-8 order-list">
        <table class="table table-hover">
          <thead>
            <tr>
              <th>Name</th>
              <th>Order</th>
              <th>Status</th>
            </tr>
          </thead>
          <tbody></tbody>
        </table>
        <p>
          <a class="pull-right export" data-export="export">Export to CSV</a>
        </p>
      </p>
    </p>
    <hr>
    <p class="time">
      Order List of <span class="today"></span>
    </p>
  </p>
  <footer>
    Designed By <a href="http://blog.csdn.net/alenhhy" rel="external nofollow" target="_blank">Alen Hu</a>
  </footer>

*使用了bootstrap3框架
*选择咖啡的部分,我使用了一款叫bootstrap-SELECT的插件,可以完美兼容bootstrap的UI,但是写CSS的时候要注意一下,得通过浏览器F12查看DOM后,方可根据DOM来写,否则直接写SELECT和option是没用的。

JQuery:

$(document).ready(function() {  
 var $order = $("tbody");
 var $add = $(".add-order");
 var $name = $("#name");
 var $drink = $("#drink");
  
 //add new data to table
 function addToTable() {
  if ($name.val()) {
   $order.append('<tr><td class="customer-name">' + $name.val() + '</td><td class="customer-order">' + $drink.val() + '</td><td class="customer-status"><i class="fa fa-coffee" aria-hidden="true"></i></td></tr>');
   $name.val("");
  } else {}
 }
  
 $add.on("click", addToTable);
 $("form").keypress(function(event) {
  if (event.keyCode === 13) {
   event.preventDefault();
   addToTable();
  }
 });
  
 //click to tick
 $order.delegate('.customer-status > i', 'click',
 function() {
  $(this).parent().html('<i class="fa fa-check" aria-hidden="true"></i>');
 });
  
 //date
 var myDate = new Date();
 var day = myDate.getDate();
 var month = myDate.getMonth() + 1;
 var year = myDate.getFullYear();
  
 function plusZero(x) {
  if (x < 10) {
   x = "0" + x;
  } else {
   x = x;
  }
  return x;
 }
  
 var today = plusZero(day) + "." + plusZero(month) + "." + year;
 $(".today").text(today);
  
 //export table data to CSV
 $(".export").click(function() {
  $(".table").tableToCSV();
 });
  
});

*导出为CSV的这个功能我使用到了一个叫tabletoCSV的插件,用法和源代码可以点击链接进去看看。但是这款插件功能比较单一,真的就是只能导出CSV,不能选择导出哪部分内容,也无法指定文件名称等等,如果你有什么更好的相关插件,欢迎来分享啦~

这里只是简单的做了一下这款应用的表面效果,没有做数据交换方面的事情。
创建JSON文件,使用AJAX(GET,POST,DELETE,POST...)可以储存相关数据。

DEMO在这里,欢迎FORK。

更多关于jQuery实现咖啡订单管理简单应用请关注PHP中文网(www.php.cn)其他文章!

相关标签:jQuery
    0推荐

      作者的热门手记