如何根据jquery中的select显示/隐藏textarea?

时间:2012-03-01 22:36:01

标签: jquery forms select hide show

我有一个选择字段和一个textarea字段。我试图隐藏/显示我所选择的类型函数textarea:

<select id="select" name="management">
    <option value="0" selected="">Select One</option>
    <option value="1">Yes</option>
    <option value="0">No</option>
</select>
<textarea id="textarea" name="searching_gig_des" wrap="VIRTUAL" cols="50" rows="5"></textarea>
​
var textarea = $('textarea');.
var select   = $('#select').val();

textarea.hide();

if (select == '1'){
  textarea.show();
}
if (select == '0'){
  textarea.hide();
}
​

jsfiddle

任何想法?

感谢

7 个答案:

答案 0 :(得分:3)

您有一些语法错误,而且您没有约束change的{​​{1}} event

select

jsfiddle

答案 1 :(得分:2)

$('#select').change(function(){
    var value = $(this).val();
    var textarea = $('textarea');

    if (value == '1'){
        textarea.show();
    }
    if (value == '0'){
        textarea.hide();
    }

});

答案 2 :(得分:1)

.移除var textarea = $('textarea');.,您就可以了。

顺便说一句,我认为你是根据页面的下拉值show/hide尝试onload textarea。

如果你想根据下拉选择显示/隐藏textarea,你需要更改下面的处理程序,

var $select = $('#select');

$select.change(function() {
    var select = $(this).val();
    if (select == '1') {
        textarea.show();
    }
    if (select == '0') {
        textarea.hide();
    }
});

答案 3 :(得分:1)

http://jsfiddle.net/uhv5R/5/

将JS绑定到更改事件,并且您还有一段额外的时间段。

答案 4 :(得分:1)

您的jquery代码中有一些错误。您还需要为您的选择处理更改事件。 Here是更新的jsfiddle http://jsfiddle.net/uhv5R/6/

答案 5 :(得分:1)

首先从第一个.行的分号后删除句点(var)。然后将if打包到change()事件处理程序中,并使第二个if成为else if *:

var textarea = $('#textarea');
var select   = $('#select').val();

textarea.hide();

$(select).change(
    function(){
        if (select == 1){
          textarea.show();
        }
        else if (select == 0){
          textarea.hide();
        }
    });

JS Fiddle update


  • 严格来说,这不是必要的。但它确实对我更有意义,因为这两个条件是相关的。另一方面,它也可能只是一个else(而不是else if,因为实际上只有两个选项。)

答案 6 :(得分:1)

尝试:

var textarea = $('textarea');
$('#select').change(function() {
    if ($(".yes:selected").val() == 1) {
        textarea.show();
    }
    else {
        textarea.hide();
    }
});​

http://jsfiddle.net/uMTmm/1/