Javascript 单击复选框后修改输入文本框的值

Javascript 单击复选框后修改输入文本框的值,javascript,jquery,Javascript,Jquery,我有一个函数,可以读取文本输入值并更新另一个div中显示的计数器。在某些情况下,我会显示一个复选框以及文本输入字段。当用户选中复选框时,在文本输入字段中输入的金额将加倍,结果将正确显示在计数器中 当用户选中复选框时,输入字段应与计数器一起加倍,我试图获得的id是什么 将动态添加betslip中输入的文本。因此,视图中可能会有更多带有复选框的单个betlsip 这是我的代码(HTML视图是通过JS动态生成的) @susheel你能再解释一下吗?如果($(“checkboxelement”).is(

我有一个函数,可以读取文本输入值并更新另一个div中显示的计数器。在某些情况下,我会显示一个复选框以及文本输入字段。当用户选中复选框时,在文本输入字段中输入的金额将加倍,结果将正确显示在计数器中

当用户选中复选框时,输入字段应与计数器一起加倍,我试图获得的id是什么

将动态添加betslip中输入的文本。因此,视图中可能会有更多带有复选框的单个betlsip

这是我的代码(HTML视图是通过JS动态生成的)


@susheel你能再解释一下吗?
如果($(“checkboxelement”).is(“:checked”){$(“inputbox”).val(“2”);}或者{$(“inputbox”).val(“1”);}
@susheel,你正在尝试设置硬编码值,而在我的例子中,当用户在文本输入中输入一个值并单击复选框时,文本输入中的金额会加倍。取消选中该复选框后,金额将返回到以前的状态。这不是关于设置1和2,正如您在小提琴示例中所解释的那样。这只是我在问题中提供的一个例子。没有前后固定值。您应该在问题中指定。尽可能清楚,并尽快解决。检查小提琴连杆
BetSlip.prototype.createSingleBetDiv = function(divId, Bet, winPlaceEnabled) {

    document.betSlip.setSingleCount($('[name=singleBet]').length);
    var id = divId.replace('_div','');

    // If such bet already exists
    if (!document.betSlip.singleDivExists(divId) && document.betSlip.getSingleCount() < maxNumberInBetslipRacing) {
        var singleBetPosition = (Bet.position == null) ? '' : Bet.position;

        var raceInfo = Bet.categoryName + ', ' + raceFullName + '&nbsp;' + Bet.name + ',&nbsp;' + Bet.betTypeName + ' (' + Bet.value.toFixed(2) + ')';

        var div = $('<div name="singleBet" class="bet gray2" id="' + divId + '"/>')
            // Appending div with data
            .data('Bet', Bet)

        // Appending error element
        $(div).append($('<p id="' + divId + '_error" style="display:none;"/>')
                .addClass('alert alert-danger alert-dismissable'))

        // Appending info element
        $(div).append($('<p id="' + divId + '_info" style="display:none;"/>')
            .addClass('alert alert-success alert-dismissable'))

        var bgDiv = $('<div id="bgDiv"/>').appendTo(div)

        // Append left part
        var productName = (Bet.productName != null) ? getBrandBetName(Bet.productName) : Bet.betTypeName;
        var leftDiv = $('<div class="left"/>')
            .appendTo(div)
            // Info abt the bet
            .append($('<p class="title"><b>' + singleBetPosition + '&nbsp;' + Bet.horseName + '</b><span style="float:right">' + productName + '</span></p>'))
            .append($('<p class="title">' + raceInfo + '</p>'))
            .append($('<p/>')
                .addClass('supermid')
                // Creating input field
                .append($('<input type="text" id="' + id + '_input"/>')
                    .keypress(function(event) {validateInputs(event, 'decimal')})
                    .keyup(function() {document.betSlip.updateSinglesTotalPrice()})))

        // Creating WIN / PLACE checkbox selection
        if (winPlaceEnabled) {
            $(leftDiv).append($('<p><input name="winPlaceCheckBox" id="' + id + '_checkbox\" type="checkbox"><b>' + winPlace + '</b></p>')
                .click(function() {document.betSlip.updateSinglesTotalPrice()}))
        }

        // Append Done and Reuse btns
        $(leftDiv).append($('<a id="reuseBtn" class="button confirm gray reuse" style="display: none;"/>').html(reuse).click(function() {document.betSlip.reuseBet(divId)}))
        $(leftDiv).append($('<a id="doneBtn" class="button confirm red donebtn" style="display: none"/>').html(done)
            .click(function(){$('#' + divId).find('a.right.orange').click()}))

        // Append right part
        $(div).append($('<a class="right orange"/>')
            .click(function() {
                document.betSlip.removeSingleBetDiv(divId);
            })
            // Closing btn
            .append($('<div class="icon_shut_bet"/>')))

        // Add div to the bet slip map
        document.betSlip.addSingleDiv(divId, div);

        return div;
    }
    else {
        if(this.getSingleCount() < maxNumberInBetslipRacing){
            $("#betSlipError").show();
            $("#betSlipError").html(sameBet);
            return null;
        }
        else{
            $("#betSlipError").show();
            $("#betSlipError").html(maxBet);
            return null;
        }
    }
}
BetSlip.prototype.updateSinglesTotalPrice = function() {
    var totalBet = 0;

    $('[name=singleBet]').each(function() {

        var inputValue = $(this).find('input:text').val();
        // Win / Place
        if (document.betSlip.checkWinPlace(this)) totalBet += Number(inputValue * 2);
        // Win or Place
        else totalBet += Number(inputValue);
    });
    $("#betSinglesTotalBet").html(replaceParams(totBetPrice, [totalBet.toFixed(2), document.betSlip.getCurrency()]));
}