javascript無効化ボタンを条件付きで

jeeperscreepers

アラートが表示されるのはなぜですか。選択から総計を更新した後、負の値が正の値に変更された後、ボタンが有効になりません。動作していないセクションは次のとおりです。

    if ($('.grand_total').val() < 0) {
   $('#submit').prop('disabled', true);
   alert('negative number found');

} else if ($('.grand_total').val() > 0) {
   $('#submit').prop('disabled', false);
   alert('positive number found');
}  

そしてここに完全なコードがあります:

 <script language="javascript">
 $(".add_to_total").on('change', function() {
var total = 0;
var grand_total = 0; 
$(".dynamic_row").each(function() {
    var row = $(this);

    var start_hour_am = parseFloat(row.find(".start_hour_am").val()) || 0;
    var start_minute_am = parseFloat(row.find(".start_minute_am").val()) || 0;

    var end_hour_am = parseFloat(row.find(".end_hour_am").val()) || 0;
    var end_minute_am = parseFloat(row.find(".end_minute_am").val()) || 0;        

    var start_hour_pm = parseFloat(row.find(".start_hour_pm").val()) || 0;
    var start_minute_pm = parseFloat(row.find(".start_minute_pm").val()) || 0;          

    var end_hour_pm = parseFloat(row.find(".end_hour_pm").val()) || 0;
    var end_minute_pm = parseFloat(row.find(".end_minute_pm").val()) || 0;

    total = ( (Number(end_hour_am) + (Number(end_minute_am))) - (Number(start_hour_am) + Number(start_minute_am)) + (Number(end_hour_pm) + Number(end_minute_pm)) - (Number(start_hour_pm) + Number(start_minute_pm)));
    row.find(".total").val(total);
    grand_total = Number(grand_total) + Number(total);  

}); 
    $("#grand_total").val(grand_total);


if ($('.grand_total').val() < 0) {
   $('#submit').prop('disabled', true);
   alert('negative number found');

} else if ($('.grand_total').val() > 0) {
   $('#submit').prop('disabled', false);
   alert('positive number found');
}  

 });
 </script>

任意のアイデアをいただければ幸いです。

更新これが総計のhtmlです:

<input type="text" class="grand_total" name="grand_total" id="grand_total" data-role="none" value="0" size="3" readonly="true">

これが私が無効にしようとしているボタンです:

<button type="submit" data-theme="e" data-mini="true" data-inline="true" name="submit" id="submit" class="submit" data-icon="check" value="submit-value">Submit</button>

Nick Nの提案でも、ボタンの無効化/有効化で同じ問題が発生します。

<script language="javascript">
$(".add_to_total").on('change', function() {
    var total = 0;
    var grand_total = 0; 
    $(".dynamic_row").each(function() {
        var row = $(this);

        var start_hour_am = parseFloat(row.find(".start_hour_am").val()) || 0;
        var start_minute_am = parseFloat(row.find(".start_minute_am").val()) || 0;

        var end_hour_am = parseFloat(row.find(".end_hour_am").val()) || 0;
        var end_minute_am = parseFloat(row.find(".end_minute_am").val()) || 0;        

        var start_hour_pm = parseFloat(row.find(".start_hour_pm").val()) || 0;
        var start_minute_pm = parseFloat(row.find(".start_minute_pm").val()) || 0;          

        var end_hour_pm = parseFloat(row.find(".end_hour_pm").val()) || 0;
        var end_minute_pm = parseFloat(row.find(".end_minute_pm").val()) || 0;

        total = ( (Number(end_hour_am) + (Number(end_minute_am))) - (Number(start_hour_am) + Number(start_minute_am)) + (Number(end_hour_pm) + Number(end_minute_pm)) - (Number(start_hour_pm) + Number(start_minute_pm)));
        row.find(".total").val(total);
        grand_total = Number(grand_total) + Number(total);  

    }); 
        $("#grand_total").val(grand_total);


    //if (parseFloat($('.grand_total').val()) < 0) {
    //   $('#submit').prop('disabled', true);
    //   alert('negative number found');

    //} else if (parseFloat($('.grand_total').val()) > 0) {
    //   $('#submit').prop('disabled', false);
    //   alert('positive number found');
    //}


    var total = parseFloat($('#grand_total').val());
    if(total < 0){
       $('#submit').prop('disabled', true);
       alert('negative number found...');
    }
    else {
       $('#submit').prop('disabled', false);
       alert('positive number found...');
    }     

});
</script>

UPDATE Okは、ボタンがjquery mobileで生成されたボタンであるため、負の値が見つかったときにボタンの状態を更新しないため、問題のように見えます。フォーム全体を更新すると、ボタンの状態が変更されます。data-roleをnoneに設定してこれをテストしたので、送信ボタンは標準のフォームボタンになり、無効化/有効化機能が機能します。これを回避する方法はありますか?

ニックN。

これは機能するはずです:

var total = parseFloat($('.grand_total').val());
if(total < 0){
   $('#submit').attr("disabled", "disabled");
   alert('negative number found');
}
else {
   $('#submit').removeAttr("disabled"); 
   alert('positive number found');
}

Jquery Mobile:フォーム全体を更新するのではなく、ボタンだけを更新します。

$('#submit').button('refresh');

注意:「#」を「。」に変更しました。HTMLによっては、次の行を変更することもできます。

 $(".grand_total").val(grand_total);

に:

$("#grand_total").val(grand_total);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Woocommerceで条件付きで注文ボタンを無効にする

分類Dev

ReactRedux状態を使用してボタンを条件付きで表示および無効化する方法

分類Dev

条件付きでボタン制御を有効/無効にしますか?

分類Dev

無効なボタンのスタイルを条件付きで変更する

分類Dev

アクションボタンを条件付きで無効にする(AEF)

分類Dev

2つの条件で角度付きボタンを無効にしますか?

分類Dev

2つの条件で角度付きボタンを無効にしますか?

分類Dev

子のボタンを親から条件付きで無効にする-React

分類Dev

MUI:条件付きボタンを無効にする

分類Dev

VuejsとBootstrap。ボタングループのボタンを条件付きで無効にする

分類Dev

asp.netコアビューで条件付きで無効化されたボタンをレンダリングする

分類Dev

条件付きで無効にし、MVCでタイプボタンを入力します

分類Dev

条件付きでJavascriptを使用してドロップダウンボックスを無効にする

分類Dev

Angular Js:条件付きですべてのボタンとリンクを無効にする方法は?

分類Dev

PHPとJavaScriptでボタンを表示/無効化

分類Dev

Angularでルーターリンクを条件付きで無効にする

分類Dev

Androidで特定の日付にのみボタンの無効化/有効化を設定する方法は?

分類Dev

アイコン付きのボタンを無効にする

分類Dev

Vue JSで条件付きでレンダリングされたボタンを一時的に無効にする方法は?

分類Dev

ボタンの無効化の動作を理解できません

分類Dev

条件付きのVue.js無効ボタンが機能しない

分類Dev

条件が原因でJavascriptがボタンを有効にできない

分類Dev

Java-WHILEのスイングタイマー、有効化/無効化ボタン付き

分類Dev

無効なボタンを有効にできません

分類Dev

機能からの条件でボタンを無効にする

分類Dev

if条件でボタンを無効にする方法

分類Dev

純粋なJavaScriptでボタンを有効/無効にする

分類Dev

javascriptで無効なhtmlボタンを有効にする

分類Dev

JavaFX無効化ボタン

Related 関連記事

  1. 1

    Woocommerceで条件付きで注文ボタンを無効にする

  2. 2

    ReactRedux状態を使用してボタンを条件付きで表示および無効化する方法

  3. 3

    条件付きでボタン制御を有効/無効にしますか?

  4. 4

    無効なボタンのスタイルを条件付きで変更する

  5. 5

    アクションボタンを条件付きで無効にする(AEF)

  6. 6

    2つの条件で角度付きボタンを無効にしますか?

  7. 7

    2つの条件で角度付きボタンを無効にしますか?

  8. 8

    子のボタンを親から条件付きで無効にする-React

  9. 9

    MUI:条件付きボタンを無効にする

  10. 10

    VuejsとBootstrap。ボタングループのボタンを条件付きで無効にする

  11. 11

    asp.netコアビューで条件付きで無効化されたボタンをレンダリングする

  12. 12

    条件付きで無効にし、MVCでタイプボタンを入力します

  13. 13

    条件付きでJavascriptを使用してドロップダウンボックスを無効にする

  14. 14

    Angular Js:条件付きですべてのボタンとリンクを無効にする方法は?

  15. 15

    PHPとJavaScriptでボタンを表示/無効化

  16. 16

    Angularでルーターリンクを条件付きで無効にする

  17. 17

    Androidで特定の日付にのみボタンの無効化/有効化を設定する方法は?

  18. 18

    アイコン付きのボタンを無効にする

  19. 19

    Vue JSで条件付きでレンダリングされたボタンを一時的に無効にする方法は?

  20. 20

    ボタンの無効化の動作を理解できません

  21. 21

    条件付きのVue.js無効ボタンが機能しない

  22. 22

    条件が原因でJavascriptがボタンを有効にできない

  23. 23

    Java-WHILEのスイングタイマー、有効化/無効化ボタン付き

  24. 24

    無効なボタンを有効にできません

  25. 25

    機能からの条件でボタンを無効にする

  26. 26

    if条件でボタンを無効にする方法

  27. 27

    純粋なJavaScriptでボタンを有効/無効にする

  28. 28

    javascriptで無効なhtmlボタンを有効にする

  29. 29

    JavaFX無効化ボタン

ホットタグ

アーカイブ