程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> java-這樣的html頁面怎麼去實現

java-這樣的html頁面怎麼去實現

編輯:編程解疑
這樣的html頁面怎麼去實現

圖片說明
要實現圖片上的那些方法
圖片說明
這是我數據庫的那些表
圖片說明
這是我的食品表樣式 是一對多的關系
圖片說明
這是我年齡段的表 單獨的表

我想問的是 如何去實現第一張圖片上說的功能 比如說 第一步取數據什麼的 第二部做什麼的...........
請給我詳細說明 沒有做過java 項目 只學過 所以不知道該怎麼弄 先謝謝大神了 上班之後 弄前台了 如果是偏向前台的方法更好了 十分感謝

最佳回答:


 <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    var food = {
        谷物: {
            //大米數組中依次存儲 熱量,蛋白質,脂肪,碳水化合物,膽固醇。。。其他食品同理
            //就是和你貼出來的表格中的表頭信息順序要一樣,如果沒有就用0補上,這裡簡單舉例就列5項了
            //你生成數據一定要生成和你表頭列數一樣的數字數組
            大米: [1, 2, 3, 4, 5], 小麥: [2, 3, 4, 5, 6], 玉米: [3, 4, 5, 6, 7]/*..更加多谷物*/
        },
        蔬菜: {
            大白菜: [2, 3, 4, 5, 6], 菠菜: [3, 4, 5, 6, 7]/*...更多蔬菜*/
        }
        //....更加多食物種類
    };
    //歲數數組中的營養和上面列出的一致
    var age = { '1-7歲': [1, 2, 3, 4, 5], '8-15歲': [2, 3, 4, 5, 6]/*...更多年齡段*/ };
</script>
食品:<select id="food1"></select><select id="food2"></select><input type="button" value="添加" onclick="addFood()" /><br />
年齡段:<select id="age"></select><br />
<table border="1">
    <tr><td>食物名稱</td><td>熱量</td><td>蛋白質</td><td>脂肪</td><td>碳水化合物</td><td>膽固醇</td><td>操作</td></tr>
    <tr id="trSum"><td>合計</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr id="trAge"><td>人體正常值</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
    <tr id="trDiff"><td>差距值</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>
    <tbody id="tbFood"></tbody>
</table>
<script>
    var sFood1 = $('#food1'), sFood2 = $('#food2'), sAge = $('#age')
         //去掉第一個名列和最後一個操作列
        , tdSums =  $('#trSum td:gt(0)').not(':last')
        , tdAges = $('#trAge td:gt(0)').not(':last')
        , tdDiffs = $('#trDiff td:gt(0)').not(':last')
        //////
        , tbFood = $('#tbFood') 
    //初始化食品一級分類及事件
    for (attr in food) sFood1.append('<option value="' + attr + '">' + attr + '</option>');
    sFood1.change(function () {
        var arr = food[this.value];
        sFood2.html('');
        for (attr in arr) sFood2.append('<option value="' + attr + '">' + attr + '</option>');
    }).trigger('change');//觸發一級分類加載2級分類
    //初始化年齡段
    for (attr in age) sAge.append('<option value="' + attr + '">' + attr + '</option>');
    sAge.change(function () {
        var arr = age[this.value];
        tdAges.each(function (index) { this.innerHTML = arr[index]; });

        updateSumDiff();
    }).trigger('change');//觸發onchange更新trAge中的td數值

    function updateSumDiff() {//更新合計和差距
        var sum = [];//每營養小計
        tbFood.find('tr').each(function () {
            $('td:gt(0)', this).not(':last').each(function (index) {
                sum[index] = (parseFloat(this.innerHTML) || 0) + (sum[index] || 0);
            });
        });
        //更新合計和差距
        tdAges.each(function (index) {
            tdSums.eq(index).html((parseFloat(this.innerHTML) || 0) + (sum[index] || 0));
            tdDiffs.eq(index).html((parseFloat(this.innerHTML) || 0) - (sum[index] || 0));
        });
    }
    function addFood() {
        var arr = food[sFood1.val()][sFood2.val()];
        var s = '<tr><td>' + sFood2.val() + '</td>';
        for (var i = 0; i < arr.length; i++) s += '<td>' + arr[i] + '</td>';
        s += '<td><input type="button" value="刪除" onclick="removeFood(this)"/></td></tr>';
        tbFood.append(s);
        updateSumDiff();
    }
    function removeFood(o) { $(o).closest('tr').remove(); updateSumDiff(); }
</script>
qq_15290009
qq_15290009
showbo
qq_15290009
showbo
qq_15290009
showbo
qq_15290009
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved