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