1


0

ユーザーが選択の値を変更したときに特定のフィールドをクリアする

OK、私は本当に悪い日を過ごし始めており、古い脳は機能していません。 私は何を探しているべきか考えることができず、この種のことの以前の例を見つけることさえできません。

3つのフィールドを持つHTMLフォームがあります。

  • 選択:disposition_status

  • テキスト:disposition_datetime_hasrecord

  • テキスト:disposition_description

選択フィールド `disposition_status`には次の値があります。

  • 1-で

  • 2-アウト

ユーザーが値1(in)で disposition_status`のアイテムを選択すると、フィールド disposition_datetime_hasrecord`と `disposition_description`のテキストをクリアしたいと思います。

誰かが例を持っているか、これを達成するために正しい方向に私を指すことができるなら、それは高く評価されるでしょう。

3 Answer


3


$('#disposition_status').change(function() {
    if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
    }
});​

*編集:*コメントに基づいて

さて、私は今問題を見る、それは中に包まれるべきだ

$(document).ready(function() {
    //code here
});

申し訳ありませんが、jsfiddleは内部で実行しています(実際に設定しました)。 コードを次のように入れてください

$(document).ready(function() {
   $('#disposition_status').change(function() {
      if (this.value == 1) {
        $('#disposition_datetime_hasrecord').val('');
        $('#disposition_description').val('');
      }
   });​
});

http://api.jquery.com/ready/ [ここの説明]


2


これを試して:

$('select[name=disposition_status]').change(function() {
    if ($(this).val() == 1) {
        $('*[name=disposition_datetime_hasrecord]').val('');
        $('*[name=disposition_description]').val('');
    }
});


2


大丈夫です、日曜日の夜はとにかくコーディングするのが難しい夜です;-)

これを行うには、jQuery changeメソッドを使用して、メニュー内の変更をキャッチします。 そこから、簡単なcaseステートメントを設定して、何をすべきかを決定できます。例:

 $("#disposition_status").change(function() {
     if ($(this).val() == 1) {
         $("#disposition_datetime_hasrecord").val("");
         $("#disposition_description").val("");
     }
 });

これは、それらがIDとして設定されていることを前提としています。そうでない場合は、セレクタ `" * [name = disposition_status] "`などを使用できます。 それらを選択します。

編集:ああドラッツ! 他の誰かにbeatられただけです;-)少なくとも同じ思考プロセス:)