当值达到100%时,显示()函数未激活

Show() Function Not Activating When Value Reaches 100%

本文关键字:函数 激活 显示 100%      更新时间:2023-09-26

所以我试图在进度条达到100%时显示一个提交按钮。当选中两个下拉菜单中的每一个,并选中后续复选框时,进度条的值会增加。这是栏和按钮的div:

<div id="submitContainer" align="center">
<br />
<progress id="progressBar" value="0" max="100"><div class="progressbar"></div></progress>
<br />
<input id="submitButton" type="button" value="Check Trade" onclick="function()" />    
</div>

以下是增加进度条值的脚本:

var doneA = false;
    $('#teamASelect').on('change', function() {
        if (!doneA) {
        $("#progressBar").attr('value', $("#progressBar").prop('value')+25);
        doneA = true;
    }
}); 
var doneB = false;
    $('#teamBSelect').on('change', function() {
        if (!doneB) {
        $("#progressBar").attr('value', $("#progressBar").prop('value')+25);
        doneB = true;
    }
});
var doneC = false;
    $('.checkA').on('change', function() {
        if (!doneC) {
        $("#progressBar").attr('value', $("#progressBar").prop('value')+25);
        doneC = true;
    }
});
var doneD = false;
    $('.checkB').on('change', function() {
        if (!doneD) {
        $("#progressBar").attr('value', $("#progressBar").prop('value')+25);
        doneC = true;
    }
}); 
var progress = $("#progressBar").attr('value');

这是应该显示提交按钮的脚本。。。或者我是这么想的:

$(document).ready(function () {
$('#submitButton').hide();
});
$('#progressBar').prop('value').on('change', function () {
    if (progress > 99) {
    $('#submitButton').show();
    }
});

我做错了什么?非常感谢您的帮助。谢谢大家!

您的jQuery代码是错误的

$('#progressBar').prop('value').on('change', function () {

.prop(xxx)将返回该属性的值。

你需要放下.pr()

$('#progressBar').on('change', function () {

现在if (progress > 99) {中的progress是什么?你不应该读价值吗?

if (this.value > 99) {

$('#progressBar').on('change', function () {
    if (this.value > 99) {
    $('#submitButton').show();
    }
});

在JS中设置值不会触发更改,因此需要触发

$("#progressBar").attr('value', $("#progressBar").prop('value')+25).trigger("change");