view source

JavaScript

document.title = '倍数の数値を計算';
$(function(){
  var v = 1280;
  $demo = $('#demo');

  var rowMax = 8;
  var max = 99;
  var aryOrg = [...Array(max)].map((_, i) => i+2);
  var ary = [].concat(aryOrg);
  var rows = [...Array(rowMax)].map((_, i) => i);

  $table = $('<table>');
  $demo.append($table);
  $tr = $('<tr>');
  $table.append($tr);
  $th = $('<th>');
  $tr.append($th);
  rows.forEach(function(v, i){
    $th = $('<th>');
    $input = $('<input>',{type:'number'}).val(v+1).css({width:'99%'});
    $th.append($input);
    $tr.append($th);
    $input.on('change', function(){
      var n = $(this).val();
      n= Number(n);
      setMultiple(n, i);
    });
  });

  ary.forEach(function(v,i){
    $tr = $('<tr>');
    $table.append($tr);
    $th = $('<th>');
    $input = $('<input>',{type:'number'}).val(v).css({width:'99%'});
    $th.append($input);
    $tr.append($th);
    $input.on('change', function(){
      var m = $(this).val();
      m= Number(m);
      setMultipleM(m, i);
    });
    rows.forEach(function(){
      $td = $('<td>');
      $input = $('<input>',{type:'number',readonly:''}).val(0).css({width:'99%'});
      $td.append($input);
      $tr.append($td);
    });
  });

  var setMultiple = function(n, i){
    $table = $('table');
    $tr = $table.find('tr');
    $tr.each(function(){
      var tr = $(this);
      var td = tr.find('td').eq(i);
      var m = td.parent().find('th input').val();
      m = Number(m);
      var r = n*m;
      td.find('input').val(r);
    })
  }
  var setMultipleM = function(m, j){
    console.log(j);
    $table = $('table');
    $tr = $table.find('tr').eq(j+1);
    $td = $tr.find('td');
    $td.each(function(i){
      $th = $table.find('tr').eq(0).find('th').eq(i+1);
      var inputH = $th.find('input');
      n = inputH.val();
      n = Number(n);
      var r = n*m;
      $td = $table.find('tr').eq(j+1).find('td').eq(i);
      var input = $td.find('input');
      input.val(r);
    })
  }

});

CSS

form{
  width:96%;
  margin:0 auto;
}

h2{
  font-weight:bold;
  margin-top:8px;
}
input{
  box-sizing:border-box;
  border:none;
  text-align:right;
  font-size:24px;
}
td{
  border:1px solid #ccc;
}

HTML

ページのソースを表示 : Ctrl+U , DevTools : F12

view-source:https://hi0a.com/demo/-js/js-number-multiple-times/

ABOUT

hi0a.com 「ひまアプリ」は無料で遊べるミニゲームや便利ツールを公開しています。

プログラミング言語の動作デモやWEBデザイン、ソースコード、フロントエンド等の開発者のための技術を公開しています。

必要な機能の関数をコピペ利用したり勉強に活用できます。

プログラムの動作サンプル結果は画面上部に出力表示されています。

環境:最新のブラウザ GoogleChrome / Windows / Android / iPhone 等の端末で動作確認しています。

画像素材や音素材は半分自作でフリー素材配布サイトも利用しています。LINK参照。

動く便利なものが好きなだけで技術自体に興味はないのでコードは汚いです。

途中放置や実験状態、仕様変更、API廃止等で動かないページもあります。