0

値が空のときにフォームの送信ボタンを無効にする次の jQuery コードがあります。コードは、最初の行のみを埋めることによってボタンが有効になる.action_manager(テーブルで動的に生成される)を除いて、すべてのエントリに対して正常に機能します。textareaが再アクティブ化される前に、すべてのフィールドに入力する必要がありますsubmitbuttonボタンを有効にするには、 の1 つのインスタンスだけaction_managerで十分です (これは私が望んでいるものではありません) 。

 $('document').ready(function(){

        var submitButton = $('input[name="store_values"]');
        checkValues();

        $('select.actuallevel').on('change',function(){
            checkValues();
        });
        $('select.targetlevel').on('change',function(){
                checkValues();
            });
        $('select.quarter_manager').on('change',function(){
            checkValues();
        });
        $('select.year_manager').on('change',function(){
            checkValues();
        });

        $(".action_manager").each(function()
        {
           $(this).on('change',function(){
                checkValues();
          });
        });


        function checkValues(){
            submitButton.prop('disabled',$(".actuallevel > option:selected[value=''],.actuallevel:empty").length > 0 ||
                $(".targetlevel > option:selected[value=''],.targetlevel:empty").length > 0 ||
                $(".quarter_manager > option:selected[value=''],.quarter_manager:empty").length > 0 ||
                $(".year_manager > option:selected[value=''],.year_manager:empty").length > 0 ||
                !$.trim($(".action_manager").val())


            );
            //submitButton.prop('disabled',$(".targetlevel > option:selected[value=''],.targetlevel:empty").length > 0);
        }
    });

テキストエリア フィールドは次のとおりです。

echo "<td><textarea class='action_manager' id='action-".$inf['Competence_ID']."' name='acto-".$inf['Competence_ID']."'>";if (isset($inf['actiontext'])){echo $inf['actiontext'];}echo "</textarea></td>";
    echo"<td>";
4

2 に答える 2

0

動的に生成された要素にon委任されたイベントを使用する必要があります..ここでループを使用する必要はありません.セレクターはそのクラスで始まるすべての要素を選択します...$.each

$(document).on('change','.action_manager',function(){
     checkValues();
});

documentただし、それ自体よりもドキュメントに存在する最も近い静的な親を使用することをお勧めします

于 2013-04-19T11:40:42.953 に答える