如何使用javascript切换十进制和舍入的整数

时间:2016-05-20 19:25:17

标签: javascript jquery ajax

我有一个表从我的Django应用程序渲染数据,该应用程序使用PostgreSQL数据库。如何添加一个按钮来切换Score列,以便它显示原始十进制值和舍入整数之间的数字?

以下是一个示例:https://jsfiddle.net/8a66gtww/

$(document).ready(function(){
    'use strict';
    $("#create").on('click', '#save', function (e) {

        alert('Save Message');
        e.preventDefault();

            $.ajax({
                url: ADD_ENDPOINT,
                data: {'form': $("create").serialize()},
                type: 'POST'
            });
});
$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {

        alert("ERROR: "+thrownError);   
    });

    function isErrorOccurred(data){
        if(data.indexOf("ERROR")>=0){
            alert(data);
            return true;
        }
        else{
            return false;
        }
    }

});

2 个答案:

答案 0 :(得分:1)

看看它是否有帮助。我刚刚修改了你的html用于存储你的得分值,所以它可以撤消回合。

<table class="table table-bordered table-condensed table-striped">
    <thead>
        <tr>
            <th class="track_id"><input id="checkAll" type="checkbox" /></th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Score</th>
        </tr>
    </thead>
    <tbody>
        <tr class="odd">
            <td class="track_id"><input type="checkbox" name="track_id" value="2" /></td>
            <td>John</td>
            <td>Do</td>
            <td>65.85</td>
            <input type="hidden" value="65.85">
        </tr>
        <tr class="even">
            <td class="track_id"><input type="checkbox" name="track_id" value="1" /></td>
            <td>Michael</td>
            <td>Smith</td>
            <td>88.25</td>
            <input type="hidden" value="88.25">
        </tr>
        <tr class="odd">
            <td class="track_id"><input type="checkbox" name="track_id" value="4" /></td>
            <td>Donald</td>
            <td>James</td>
            <td>120.11</td>
            <input type="hidden" value="120.11">
        </tr>
    </tbody>
    <tfoot></tfoot>
</table>
<br />
<button class="switch">Switch</button> 

和jquery是:

$('.switch').click(function () {
  $('.table tbody tr td:nth-child(4)').each(function() {

    if ($(this).html().indexOf('.') >= 0) {
        $(this).html(Math.round($(this).html()));
    } else {
        $(this).html($(this).parent().find('input[type=hidden]').val());
    }
  });
});

验证您的分数是否包含小数点。如果分数是十进制的,那么它将它舍入。如果分数不是十进制,则恢复原始值。

https://jsfiddle.net/jdm3eovz/

答案 1 :(得分:0)

这里有一些东西让你入门:

<script>
window.switcher = {
    johnsScore: 0
}
switcher.switch = function(){
    var $johnsScore = $('tbody > tr td').eq(3)
    var $johnsCheckbox = $('tbody > tr input')
    if ($johnsCheckbox.prop('checked')) {
        if (this.johnsScore > 0) {
            $johnsScore.text(this.johnsScore)
            this.johnsScore = 0
        }
        else {
            this.johnsScore = $johnsScore.text()
            $johnsScore.text(Math.round(this.johnsScore))
        }
    }
}
</script>

然后按钮变为:

<button onclick="switcher.switch()">Switch</button>