如果选择了某个选项值,则显示字段 - 必须在页面加载时工作

时间:2010-08-27 02:15:05

标签: javascript jquery select show

genius code适用于复选框:

$(document).ready(function() {
   $("#Languages-spoken-and-understood-8").change(function() {
      $("#li-2-21")[$(this).is(":checked") ? 'show' : 'hide']("fast")
  }).change();
});

我喜欢的是它可以正常工作。

我试图为选择框修改它。代码由wordpress上的cforms自动生成。

<select name="Severity-of-your-symptoms" id="Severity-of-your-symptoms" class="cformselect" >
    <option value="full01_severity_notselected" selected="selected">Please select...</option>
    <option value="Mild">Mild</option>
    <option value="Moderate">Moderate</option>
    <option value="Severe">Severe</option>
    <option value="full01_severity_other">Other</option>
</select>

这就是我的尝试:

  $('#Severity-of-your-symptoms').change(function() {
    $("#li-10-14")[("#Severity-of-your-symptoms[value='full01_severity_other']").attr('selected', 'selected') ? 'show' : 'hide']("fast")
  });change();

显然这不起作用。仅当选择“其他”时,才会出现文本框。 有没有办法以某种方式再次使用那个漂亮的代码或者我需要更大的功能吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

你几乎就在那里,这将是一个更短的做法:

$('#Severity-of-your-symptoms').change(function() {
  $("#li-10-14")[$(this).val() == "full01_severity_other" ? 'show' : 'hide']("fast");
}).change();

You can give it a try here

获取或设置<select>(或任何其他输入类型元素)的值时,您可以使用.val()。如果有人想要这个没有动画的,它看起来像这样:

$('#Severity-of-your-symptoms').change(function() {
  $("#li-10-14").toggle($(this).val() == "full01_severity_other");
}).change();