获取/设置文本值的问题

时间:2014-03-24 10:26:21

标签: javascript jquery html checkbox

我正在尝试按下按钮(获取值)以将复选框的大小设置为文本。我使变量(numAll)全局,并转换为String,但仍然无法正常工作。任何解决方案的想法?

Demo

Jquery的:

$(function () {
    // Click function to add a card
    var $div = $('<div />').addClass('sortable-div');
    $('<label>Title</label><br/>').appendTo($div);
    $('<input/>', {
        "type": "text",
            "class": "ctb"
    }).appendTo($div);
    $('<input/>', {
        "type": "text",
            "class": "date"
    }).appendTo($div);
    $('<input/>', { 
        "type": "text", 
            "class": "Cbox" 
    }).appendTo($div);
    var cnt = 0,
        $currentTarget;
    $('#AddCardBtn').click(function () {
        var $newDiv = $div.clone(true);
        cnt++;
        $newDiv.prop("id", "div" + cnt);

        $newDiv.data('checkboxes', []);

        $('#userAddedCard').append($newDiv);
        //      alert($('#userAddedCard').find("div.sortable-div").length);        
    });


    $("#Getbtn").on("click", function () {
        var val = $("#customTextBox").val();
        $currentTarget.find(".ctb").val(val);
        $currentTarget.find(".date").val($("#datepicker").val());

        var Cboxval = numAll;
        var st = console.toString(Cboxval);
        $currentTarget.find(".Cbox").val(st);

        $currentTarget.data('checkboxes', $('#modalDialog').data('checkboxes')); /* Copy checkbox data to card */

        //$('#modalDialog').dialog("close");
    });

     var numAll;

function updateProgress() {
    var numAll = $('input[type="checkbox"]').length;
    var numChecked = $('input[type="checkbox"]:checked').length;

    if (numAll > 0) {
        var perc = (numChecked / numAll) * 100;
        $("#progressbar").progressbar("value", perc)
        .children('.ui-progressbar-value')
        .html(perc.toPrecision(3) + '%')
        .css("display", "block");
    }
}  

1 个答案:

答案 0 :(得分:1)

您应该在数字对象上使用.toString()方法:

    var st = Cboxval.toString();

否则我找不到你在哪里定义numAll变量,所以我不得不替换

var Cboxval = numAll;

使用:

var Cboxval = numAll === undefined ? 0 : numAll;

为了能够执行mys测试。

此处您有JS fiddle的更新版本。