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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

Javascript 引数の使いまわし

rn7
rn7

総合スコア12

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

1回答

0グッド

0クリップ

318閲覧

投稿2022/11/28 05:18

編集2022/11/28 05:55

前提

関数の引数 getData(id, save_id ,inx)を deleteDataの引数として使いまわしたいです。
どう記述するのがわかりません。

getDataの引数は他ページから取得しています。

※ajaxの書き方は変更不可

実現したいこと

該当のソースコード

javascript

1 function getData(id, save_id, inx) { 2 //内容省略 3 } 4 5 function deleteData(id, save_id, inx) { 6 $.ajax({ 7 url: '/ajax/deleteData' + id, //←のような形式で引数を使いたいです 8 type: 'POST', 9 data: { 10          //省略 11 }, 12   //省略 13 } 14 $(data).on('click', 'button[id^="delData01_"]', function() { 15 deleteData(id, save_id, inx); 16 }) 17

Javascript

1 $(data).on('dblclick', '#tbl tbody tr:not(.disabledRow)', function() { 2 var id= $(this).attr('id'); 3 var save_id= $(this).attr('save_id'); 4 var inx= $(this).attr('inx'); 5 switch(id){ 6 case 'ID' + save_id : getData(id, save_id, inx);break; 7    //省略 8 } 9 10 function getDatatList() { 11 $.ajax({ 12 url: '/ajax/getDataList', 13 type: 'get', 14 beforeSend: function() { 15 $('#loading').show(); 16 }, 17 success: function(response){ 18 //取得できているため省略 19 }); 20 $('#loading').hide(); 21 }, 22 error: function (request, status, error) { 23 alert(request.responseText + 'status:' + status + 'error:'+error); 24 } 25 }); 26 } 27

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

maisumakun

2022/11/28 05:28

> 関数の引数 getData(id, save_id ,inx)を deleteDataの引数として使いまわしたいです。 何をしたいのか、もう少し具体的に書いていただくことはできますか?
rn7

2022/11/28 05:57 編集

処理の共通化をしたいのです。 何枚も同じ処理が走るページが現に存在しており 例えば引数idをつかって下記urlの後ろの部分を変数で挿入したいです。 $.ajax({ url: '/ajax/getDataList' + id, type: 'POST', data: {       //省略 getDataは大もととなるデータから引数を取得しているため、 手書きでidを定義するのではなく そちらからidを引用しdeleteDataに使いまわしたいと考えています。

回答1

1

ベストアンサー

ちょっと意図がわかりかねます

getData(id, save_id, inx)してるのですから、id,save_id,inxが変数として参照可能なら
deleteData(id, save_id, inx)するだけですが・・・

追記

javascript

1let id=1; 2let save_id=2; 3let inx=3; 4function getData(id,save_id,inx) { 5 console.log(`get:id=${id}/save_id=${save_id}/inx=${inx}`); 6} 7 8function deleteData(id,save_id,inx) { 9 console.log(`delete:id=${id}/save_id=${save_id}/inx=${inx}`); 10} 11getData(id,save_id,inx); 12deleteData(id,save_id,inx);

投稿2022/11/28 05:29

編集2022/11/28 06:19
yambejp

総合スコア109059

spoofy_dragon😄を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

rn7

2022/11/28 05:36 編集

説明不足でもうしわけありません。初心者でわかってないのですが getDataの関数の外でdeleteData関数を作成するとき、 deleteData(id, save_id, inx)の中の引数はnot definedになってしまいます。 その場合はどうしたらよいのでしょうか。
yambejp

2022/11/28 05:46

手っ取り早いのは関数の外でid,save_id,inx変数を宣言しておいて getDataの中でvarを指定せずに引き渡すとかでしょうか・・・ 命題ではdeleteDataがどこからも呼ばれていないようなのでなんともいえません
rn7

2022/11/28 06:13 編集

すみません。初心者なのでおかしなの箇所があれば教えてください。 関数の外で定義してもgetDataの引数の使いまわしはできず、、、 引数を渡さず関数の外で引数で使用している値を定義してしまうということでしょうか、、、
yambejp

2022/11/28 06:20

分かりづらくて申し訳ないです。 getDataの外側で宣言されたid,save_id,inxは使い回せます 追記しておきました
rn7

2022/11/28 06:30

ご丁寧にご回答いただきありがとうございます。実装してみます。

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。