質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

317閲覧

テーブルのセルを押すとするっと1から9の数値が出てきて選択した数値が入力されるようにしたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1グッド

2クリップ

投稿2018/10/23 13:15

格子状のtableタグで作った表に数値を入れる物を作ったのですが、簡単に数値を選択していれる方法はないでしょうか?
テーブルのセルを押すとするっと1から9の数値が出てきて選択した数値が入力されるようにしたいです。

現在はtdにinput要素を入れて数値を入力しています。
typeにnumberと入れています。

selectタグでプルダウンメニューをtdに入れたのですが、selectタグにデフォルトの余計なcssが一杯当たっているせいか、selectタグのサイズが、input要素の数値の場合より大きいようでテーブルが崩れます。
下記を入れても変わりません。
appearance: none;

また、余計な余白や四角などが邪魔です。

なにか良い方法はないでしょうか?

HTMLを追加します。

~ <tr> <td><input type="text" value="5"></td> <td><input type="text" value="4"></td> <td><input type="text" value=""></td>←ここを閲覧者がクリックした時に1から9の選択肢が出てきて、選択するとその数値が入力されるようにしたい。 </tr> ~
退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

制限がいろいろありますがdatalistを使うとか

HTML

1<input type="text" value="" list="num"> 2<input type="text" value="" list="num"> 3<input type="text" value="" list="num"> 4<datalist id="num"> 5<option value="1"> 6<option value="2"> 7<option value="3"> 8<option value="4"> 9<option value="5"> 10<option value="6"> 11<option value="7"> 12<option value="8"> 13<option value="9"> 14</datalist>

ただしそのままでは使いにくいのでjsなどと絡める必要があるかもしれません

投稿2018/10/24 00:51

yambejp

総合スコア114968

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/24 01:42

確かにかなり近づいたのですが、右側に出る▼のスペースはやはり残ってしまうのですね。 PCサイズは問題ないのですが、スマホサイズだと横幅が小さいので、この▼のスペースを上か下に持っていくか無くしてしまうことはできないでしょうか?
退会済みユーザー

退会済みユーザー

2018/10/24 01:43

input { -webkit-appearance: textfield; background-color: white; -webkit-rtl-ordering: logical; cursor: text; padding: 1px; border-width: 2px; border-style: inset; border-color: initial; border-image: initial; } user agent stylesheet input, textarea, select, button { text-rendering: auto; color: initial; letter-spacing: normal; word-spacing: normal; text-transform: none; text-indent: 0px; text-shadow: none; display: inline-block; text-align: start; margin: 0em; font: 400 13.3333px Arial; } こんなにあるのですが、この中にありそうに思えません。
x_x

2018/10/24 03:11

Chromeならこうでは? input[list]::-webkit-calendar-picker-indicator { display: none; }
退会済みユーザー

退会済みユーザー

2018/10/24 06:09

このように https://codepen.io/anon/pen/xyOQjm 確かに一度目の選択はイメージ通りいったのですが、二度目からは、数値が全て出てきません。 これはこのやり方では解決できないのでしょうか?
yambejp

2018/10/24 07:20

> 二度目からは、数値が全て出てきません。 datalistは前方一致の検索なので、数値が選ばれているとヒットしません 数値をクリアするか、別の方法を検討ください
退会済みユーザー

退会済みユーザー

2018/10/24 09:30

<!-- <select> <option value="">1</option> <option value="">2</option> <option value="">3</option> <option value="">4</option> <option value="">5</option> <option value="">6</option> <option value="">7</option> <option value="">8</option> <option value="">9</option> </select> --> こちらが最も理想に近いのですが、横の▼をなくし数値だけにはできないのでしょうか? 縦にするでもいいです。 スマホサイズで厳しいので
guest

0

ベストアンサー

inputになにかしらクラスを与えたうえで、selectタグのレイアウトがいい感じになるようスタイルをしていすればいいのでは?
また、各セルのサイズについても、スタイルなどで指定しておけば万全な気がします。

投稿2018/10/23 13:44

編集2018/10/23 13:46
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/23 13:59

リセットCSSのようにデフォルトのcssを外すことはできないのですか? 上書きするようにcssを当てて自分で調整するしかないという事でそうか?▼を消すこともできるのですか?
退会済みユーザー

退会済みユーザー

2018/10/24 00:54

リセットcssも、あれは上書きしてるだけですよ
退会済みユーザー

退会済みユーザー

2018/10/24 00:57

初期値を表す値はあるみたいなので、デバッガで割り当たってるスタイルがなにか確認しながらうわがくとかでしょうか
退会済みユーザー

退会済みユーザー

2018/10/24 01:26

インスペクタで確認して、不要なcssを自分で上書きすればいいのですね。
退会済みユーザー

退会済みユーザー

2018/10/24 09:30

<!-- <select> <option value="">1</option> <option value="">2</option> <option value="">3</option> <option value="">4</option> <option value="">5</option> <option value="">6</option> <option value="">7</option> <option value="">8</option> <option value="">9</option> </select> --> こちらが最も理想に近いのですが、横の▼をなくし数値だけにはできないのでしょうか? 縦にするでもいいです。 スマホサイズで厳しいので
退会済みユーザー

退会済みユーザー

2018/10/24 10:07

確かにこれですね。まずやって見ます 横の消した部分にできた隙間が消せるかわかりませんが、消せればこれで大丈夫です。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問