2016-12-18 13 views
1

ユーザーが日付フィールドを変更してオプションを選択したときに自動公開ボタンを生成しようとしています。ハマった。私は何が間違っているのか分からない。ここに私のコードです。両方のフィールドを変更した後で自動的に公開ボタンを有効にする方法

<select> 
    <option value="Section A">Section A</option> 
    <option value="Section B">Section B</option> 
    <option value="Section C">Section C</option> 
</select> 

<input class="time" id="date_one" type="text" /> 
<input class="time" id="date_two" type="text" /> 
<input class="time" id="date_two" type="text" /> 

<input type="submit" disabled="disabled" id="pub" value="Publish"/> 

3つの入力フィールドは、日付ピッカーです。ボタンは、これらの3つの入力フィールドと選択フィールドがすべて変更されたときにのみ有効になります。私のjqueryコードは:

$('select').on('change',function(){ 
    validatePub(); 
}); 

$('input[type="text"]').on('keyup',function(){ 
    validatePub(); 
}); 

function validatePub() { 
    $("input[type='text']").each(function(){ 
    if ($(this).val() != "") 
    { 
     if(($(".time").val().length !=" ")) 
     { 

      $("#pub").removeAttr("disabled"); 
     } 
     else { 
      $("#pub").attr("disabled", "disabled"); 
     } 
    } 
    }); 
} 

答えて

0

ここになります。

  $('select').on('change',function(){ 
 
       validatePub(); 
 
      }); 
 

 
      $('input[type="text"]').on('keyup',function(){ 
 
       validatePub(); 
 
      }); 
 

 
      function validatePub() { 
 
       var resultFalse = ''; 
 
       $("input[type='text']").each(function(){ 
 
        if ($(this).val() == "") { 
 
        resultFalse += false; 
 
        } 
 
       }) 
 
       if (resultFalse == '') { 
 
        $("#pub").removeAttr("disabled"); 
 
       } else { 
 
        $("#pub").attr("disabled", "disabled"); 
 
       } 
 
      }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select> 
 
    <option value="Section A">Section A</option> 
 
    <option value="Section B">Section B</option> 
 
    <option value="Section C">Section C</option> 
 
</select> 
 

 
<input class="time" id="date_one" type="text" /> 
 
<input class="time" id="date_two" type="text" /> 
 
<input class="time" id="date_two" type="text" /> 
 

 
<input type="submit" disabled="disabled" id="pub" value="Publish"/>

+0

答えが役立ちます。しかし、入力フィールドの後に選択オプションが変更された場合にのみ機能します。入力前に選択フィールドを変更していて作業していない場合は、あなたのところでは絶対に適切ですが、入力が日付ピッカーを持っているのでこれが問題になるかもしれません。 –

+0

Eh ...何ですか?選択ボタンと何が関係していますか?私が提供した例は、いつ何を変更するかに関係なく動作することを示しています。だから私はあなたが望むものを本当に理解していない。現在、すべての入力フィールドにコンテンツがある限り、サブミットボタンは無効になっています。 1つの空の入力がある場合、無効になります。何が欠けている? – junkfoodjunkie

関連する問題