5

私のコード:

<select id="select">
<option id="1" value="thai language">option one</option>
<option id="2" value="eng language">option two</option>
<option id="3" value="other language">option three</option>
</select>

<div id="form1">content here</div>
<div id="form2">content here</div>
<div id="form3">content here</div>

私が欲しいのは、オプション1を選択してform2 + form3を非表示にするときにdiv#form1を表示するか、オプション2を選択してdiv#form2を表示してform1+form2を非表示にすることです

4

5 に答える 5

15
$('#select').change(function() {
   $('#form1, #form2, #form3').hide();
   $('#form' + $(this).find('option:selected').attr('id')).show();
});

IDは数字で始まるべきではないことに注意してください、しかし上記はそれをするべきです。

于 2009-06-25T10:58:21.200 に答える
2

フォームが大きい場合は、次のように別々のファイルに入れることができます。

$(document).ready(function() {
     $('#select').change(function() {
         $("#myform").load(this.value);
     });
 });


<select id="select">
<option value="blank.htm">Select A Form</option>
<option value="test1.htm">option one</option>
<option value="test2.htm">option two</option>
<option value="test3.htm">option three</option>
</select>

<div id="myform" ></div>
于 2009-06-25T12:01:49.230 に答える
0

以前に表示されたdivのみを非表示にしたほうがよいのではないでしょうか。それで;

var selection = 0;
$('#select').change(function() {
  $('#form' + selection).hide();
  selection = $(this).val();
  $('#form' + selection).show();
});

IDは数字で始まるべきではないことに注意してください、しかし上記はそれをするべきです。

于 2009-06-25T11:19:59.237 に答える
0

このようなもの?

var optionValue = $("#select").val();

$('#form1, #form2, #form3').hide();

switch(optionValue)
{
case 1:
  $("#form1").show();
  break;
case 2:
  $("#form2").show();
  break;
case: 3:
  $("#form3").show();
  break;
}
于 2009-06-25T11:03:10.457 に答える
0

より良いバージョン:

$('#select').change(function() {
   $('div').not('#form' + $(this).find('option:selected').attr('id')).hide();
   $('#form' + $(this).find('option:selected').attr('id')).show();
});
于 2015-12-21T17:32:24.440 に答える