2017-10-14 2 views
-2

ロジックでは、最初に各行の開始日を選択してからボタンをクリックすると、スキップ日に結果の日付が表示されます。何らかの理由で、私のコードは動作していません。 var start = $row.find('.date').val());日付jquery関数がテーブル行で機能しない

$(".add").on('click', function() { 
 

 
    var $row = $(this).closest('tr'); 
 
    
 
    var start = $row.find('.date').val(); 
 
if (start) { 
 

 
    var set = new Date(start); 
 

 
    set.setDate(set.getDate() + Number($row.find(".day").val())); 
 

 
    $row.find(".result").val([set.getMonth() + 1, set.getDate(), set.getFullYear()].join('/')); 
 
} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
 
<table id="one"> 
 
    <th>Date</th> 
 
    <th>Skip days</th> 
 
    <th>Result</th> 
 
    <tbody> 
 
    <tr> 
 
     <td> 
 
     <input type="date" class="date"><button class="add" type="button">OK</button></td> 
 
     <td><input type="text" value="3" class="day"> </td> 
 
     <td><input type="text" class="result"> </td> 
 
    </tr> 
 

 
    <tr> 
 
     <td> 
 
     <input type="date" class="date"><button class="add" type="button">OK</button></td> 
 
     <td><input type="text" value="3" class="day"> </td> 
 
     <td><input type="text" class="result"> </td> 
 
    </tr> 
 
    </tbody> 
 
</table>

+2

JavaScriptでエラーが発生したため、その理由があります。コンソールを確認してください。 – putvande

答えて

1

$(".add").on('click', function() { 
 

 
    var $row = $(this).closest('tr'); 
 
    
 
    var start = $row.find('.date').val()); 
 
if (start) { 
 

 
    var set = new Date(start); 
 

 
    set.setDate(set.getDate() + Number($row.find(".day").val())); 
 

 
    $row.find(".result").val([set.getMonth() + 1, set.getDate(), set.getFullYear()].join('/')); 
 
} 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
 
<table id="one"> 
 
    <th>Date</th> 
 
    <th>Skip days</th> 
 
    <th>Result</th> 
 
    <tbody> 
 
    <tr> 
 
     <td> 
 
     <input type="date" class="date"><button class="add" type="button">OK</button></td> 
 
     <td><input type="text" value="3" class="day"> </td> 
 
     <td><input type="text" class="result"> </td> 
 
    </tr> 
 

 
    <tr> 
 
     <td> 
 
     <input type="date" class="date"><button class="add" type="button">OK</button></td> 
 
     <td><input type="text" value="3" class="day"> </td> 
 
     <td><input type="text" class="result"> </td> 
 
    </tr> 
 
    </tbody> 
 
</table>
あなたは余分な )で持っています

+0

これをありがとう、それが許可されたらyrの回答を受け入れるでしょう – epiphany

1

このラインの最後でこの)を削除します。おかげで

+0

@ Unamata Sanataraiは同じことを言った – C2486

+0

しかし、私の入力中に私はすでに答えが掲載されていることを知っていません。 –

+0

問題ありません。 – C2486

関連する問題