###前提・実現したいこと
tdがどれか一つでも選択されていれば活性化、何も選択されていなければ非活性(disabled)するボタンを作りたい。
動くサンプル
###発生している問題・エラーメッセージ
複数のtdを選択してから、一つのtdの選択を解除すると、ボタンのdisabledがうまく動いてくれません(選択されているtdがあるのに、活性化しない)。
$(this)と書いているために、すべての要素ではなくそのクリックした要素だけを見てしまっているためで、すべての要素をチェックするためには.eachまたは.filterを使用した関数を組み込むのだと思いますが、この勘所がいまいちわかりません…
###該当のソースコード
html
1 2 <tr> 3 <th class="js-dow">mon</th> 4 <th class="js-dow">tue</th> 5 <th class="js-dow">wed</th> 6 <th class="js-dow">thu</th> 7 <th class="js-dow">fri</th> 8 <th class="js-dow">sat</th> 9 <th class="js-dow">sun</th> 10 </tr> 11 <tr> 12 <td>1</td> 13 <td>2</td> 14 <td>3</td> 15 <td>4</td> 16 <td>5</td> 17 <td>6</td> 18 <td>7</td> 19 </tr> 20 <tr> 21 <td>8</td> 22 <td>9</td> 23 <td>10</td> 24 <td>11</td> 25 <td>12</td> 26 <td>13</td> 27 <td>14</td> 28 </tr> 29 <tr> 30 <td>15</td> 31 <td>16</td> 32 <td>17</td> 33 <td>18</td> 34 <td>19</td> 35 <td>20</td> 36 <td>21</td> 37 </tr> 38 <tr> 39 <td>22</td> 40 <td>23</td> 41 <td>24</td> 42 <td>25</td> 43 <td>26</td> 44 <td>27</td> 45 <td>28</td> 46 </tr> 47</table> 48<button type="reset" id="resetDate">reset</button>
javascript
1 $('#resetDate').prop('disabled', true); 2 cell.on('click', function () { 3 if ($(this).hasClass('selected') == false) { 4 $('#resetDate').prop('disabled', true); 5 } else { 6 $('#resetDate').prop('disabled', false); 7 } 8 }); 9});
何卒よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/07 07:02