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

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

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

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

Q&A

2回答

1315閲覧

長い文を短くまとめる方法を教えてください

ryo-1-ro

総合スコア4

JavaScript

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

0グッド

0クリップ

投稿2020/03/05 11:23

編集2020/03/06 16:03

前提・実現したいこと

Javascript関連の質問ですが、もとからあるシステムに入れていく形のものを使用している為
若干勝手が違うのと、知識が乏しくて困っています。

問題は
中に大量に文を入れるている為、文字数制限を超えてしまい
プログラム文を短くしたいのですがよいやり方を教えていただければと思います。

if (this.value=="1"){

%a1%.disabled=fales;
%a1%.className=''
%a2%.disabled=fales;
%a2%.className=''
%a3%.disabled=fales;
%a3%.className=''
%a4%.disabled=fales;
%a4%.className=''
%a5%.disabled=fales;
%a5%.className=''
%a6%.disabled=fales;
%a6%.className=''
%a7%.disabled=fales;
%a7%.className=''
%a8%.disabled=fales;
%a8%.className=''
%a9%.disabled=fales;
%a9%.className=''

%b1%.disabled=true;
%b1%.className='SeiNoEntry';
%b2%.disabled=true;
%b2%.className='SeiNoEntry';
%b3%.disabled=true;
%b3%.className='SeiNoEntry';
%b4%.disabled=true;
%b4%.className='SeiNoEntry';
%b5%.disabled=true;
%b5%.className='SeiNoEntry';

%c1%.disabled=true;
%c1%.className='SeiNoEntry';
%c2%.disabled=true;
%c2%.className='SeiNoEntry';
%c3%.disabled=true;
%c3%.className='SeiNoEntry';

}else if(this.value=="2"){

%b1%.disabled=fales;
%b1%.className=''
%b2%.disabled=fales;
%b2%.className=''
%b3%.disabled=fales;
%b3%.className=''
%b4%.disabled=fales;
%b4%.className=''
%b5%.disabled=fales;
%b5%.className=''

%a1%.disabled=true;
%a1%.className='SeiNoEntry';
%a2%.disabled=true;
%a2%.className='SeiNoEntry';
%a3%.disabled=true;
%a3%.className='SeiNoEntry';
%a4%.disabled=true;
%a4%.className='SeiNoEntry';
%a5%.disabled=true;
%a5%.className='SeiNoEntry';
%a6%.disabled=true;
%a6%.className='SeiNoEntry';
%a7%.disabled=true;
%a7%.className='SeiNoEntry';
%a8%.disabled=true;
%a8%.className='SeiNoEntry';
%a9%.disabled=true;
%a9%.className='SeiNoEntry';

%c1%.disabled=true;
%c1%.className='SeiNoEntry';
%c2%.disabled=true;
%c2%.className='SeiNoEntry';
%c3%.disabled=true;
%c3%.className='SeiNoEntry';

}else{

%c1%.disabled=fales;
%c1%.className=''
%c2%.disabled=fales;
%c2%.className=''
%c3%.disabled=fales;
%c3%.className=''

%a1%.disabled=true;
%a1%.className='SeiNoEntry';
%a2%.disabled=true;
%a2%.className='SeiNoEntry';
%a3%.disabled=true;
%a3%.className='SeiNoEntry';
%a4%.disabled=true;
%a4%.className='SeiNoEntry';
%a5%.disabled=true;
%a5%.className='SeiNoEntry';
%a6%.disabled=true;
%a6%.className='SeiNoEntry';
%a7%.disabled=true;
%a7%.className='SeiNoEntry';
%a8%.disabled=true;
%a8%.className='SeiNoEntry';
%a9%.disabled=true;
%a9%.className='SeiNoEntry';

%b1%.disabled=true;
%b1%.className='SeiNoEntry';
%b2%.disabled=true;
%b2%.className='SeiNoEntry';
%b3%.disabled=true;
%b3%.className='SeiNoEntry';
%b4%.disabled=true;
%b4%.className='SeiNoEntry';
%b5%.disabled=true;
%b5%.className='SeiNoEntry';

}

結果として
「1」の場合a1,a2,a3,a4,a5,a6,a7,a8,a9は記入ができるようになり
b1,b2,b3,b4,b5,c1,c2,c3は記入ができなくなる
「2」の場合b1,b2,b3,b4,b5は記入ができるようになり
a1,a2,a3,a4,a5,a6,a7,a8,a9,c1,c2,c3は記入ができなくなる
「その他」の場合c1,c2,c3は記入ができるようになり
a1,a2,a3,a4,a5,a6,a7,a8,a9,b1,b2,b3,b4,b5は記入ができなくなる

という風になります。
実際短い(種類が少ない)場合はいいのですが
このように長いものになって文字規制を越えてしまいます。
文字数を減らすいい方法があれば教えていただければと思います。
よろしくお願いいたします。

初めてでうろ覚えのものを投稿してしまい申し訳ありませんでした。
修正いたしましたのでよろしくお願いいたします。

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

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

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

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

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

m.ts10806

2020/03/05 12:24 編集

>}{else } を使用していますが 構文エラーですよ。そんなところにelseは置けない。 それに「こんなイメージ」でプログラムは動かないので、 実際のプログラムか、それを端的でも再現したものでないとアドバイスしようがありません。
miyabi-sun

2020/03/05 13:03

> %a1%.value=true; なんですかこれ? 少なくともHTMLやJavaScriptの構文では無く、 なんかのテンプレートエンジンでHTMLを生成していると考えられます。 だったらそのテンプレートエンジン内で`A.value = true`みたいな文章を大量生成する JavaScriptのコードをfor文で作成して打ち込めば解決すると思われます。
Lhankor_Mhy

2020/03/06 01:11

このコードはJavaScriptですか?
x_x

2020/03/06 03:03

CSS に関係がないならタグを外してください。
dodox86

2020/03/07 00:07

> Javascript関連の質問ですが "関連"なので、必ずしもJavaScriptそのものの質問とは限らない。 絡んでさえいればそう言って差し支えない(?)(一般的にそれが許容できるかは置いておいて) > %a1%.disabled=fales; "false"ではなくて"fales"ですし。
m.ts10806

2020/03/07 01:04

dodox86さん 逆のほうが伝わりやすいかと、、
guest

回答2

0

なにかのテンプレートレンダラを通す Javascript の質問だと仮定して。

js

1if (this.value=="1"){ 2 3 for ( x of [%a1%, %a2%, %a3%, %a4%, %a5%, %a6%,] ){ 4 x.disabled=fales; 5 x.className=''; 6 } 7 8 for ( x of [%b1%, %b2%, %b3%, %b4%, %b5%, %c1%, %c2%, %c3%, ] ){ 9 x.disabled=true; 10 x.className='SeiNoEntry'; 11 } 12 13}else if(this.value=="2"){ 14 15 for ( x of [%b1%, %b2%, %b3%, %b4%, %b5%, ] ){ 16 x.disabled=fales; 17 x.className=''; 18 } 19 20 for ( x of [%a1%, %a2%, %a3%, %a4%, %a5%, %a6%, %c1%, %c2%, %c3%, ] ){ 21 x.disabled=true; 22 x.className='SeiNoEntry'; 23 } 24 25}else{ 26 27 for ( x of [%c1%, %c2%, %c3%, ] ){ 28 x.disabled=fales; 29 x.className=''; 30 } 31 32 for ( x of [%a1%, %a2%, %a3%, %a4%, %a5%, %a6%, %b1%, %b2%, %b3%, %b4%, %b5%, ] ){ 33 x.disabled=true; 34 x.className='SeiNoEntry'; 35 } 36 37}

投稿2020/03/07 00:27

編集2020/03/07 00:28
Lhankor_Mhy

総合スコア36134

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

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

ryo-1-ro

2020/03/08 12:29

ありがとうございます。 早速試してみようと思います。 初心者でまとまらない質問内容に確りとお付き合いいただき大人な対応と答えをありがとうございます。
guest

0

最大限エスパーな想像をしてこう?

投稿2020/03/06 02:33

yambejp

総合スコア114883

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

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

yambejp

2020/03/06 02:34

var a=Array(9).fill(null); var b=Array(9).fill(null); var c=Array(9).fill(null); func(1); console.dir([a,b,c]); func(2); console.dir([a,b,c]); func(3); console.dir([a,b,c]); func(4); console.dir([a,b,c]); function func(flg){ a=a.map(x=>flg==1); b=b.map(x=>flg==2); c=c.map(x=>flg==3); }
ryo-1-ro

2020/03/08 12:36 編集

ありがとうございます。 分かりにくくまとまりのない質問にも対応していただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問