0
我遇到了让我的文本字段隐藏/正确显示的问题。这里是例子:jquery显示/隐藏字段
我要的是当选择的值等于一个被隐藏了一切文本字段只显示。复选框部分工作正常。
代码从复制的jsfiddle:
<html>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<title>Test Page</title>
<body>
<table id="testList">
<tbody>
<tr>
<td><input type='checkbox'></td>
<td><select>
<option value="0">Volvo</option>
<option value="1">Saab</option>
<option value="2">Mercedes</option>
<option value="3">Audi</option><input type='text' style="display: none">
</select>
</td>
</tr>
<tr>
<td><input type='checkbox'></td>
<td><select>
<option value="0">Volvo</option>
<option value="1">Saab</option>
<option value="2">Mercedes</option>
<option value="3">Audi</option>
</select><input type='text' style="display: none">
</td>
</tr>
<tr>
<td><input type='checkbox'></td>
<td><select>
<option value="0">Volvo</option>
<option value="1">Saab</option>
<option value="2">Mercedes</option>
<option value="3">Audi</option>
</select> <input type='text' style="display: none">
</td>
</tr>
</tbody>
</table>
<script>
jQuery(function($) {
$("select").change(function() {
var $this = $(this),
$checkbox = $this.parent().prev().find(":checkbox");
if ($this.val() != 0) {
$checkbox.attr("disabled", true);
if($this.val() == 1){
$(":text").show();
}
else{
$(":text").hide();
}
} else {
$checkbox.removeAttr("disabled");
}
});
$(":checkbox").change(function() {
var $this = $(this),
$select = $this.parent().next().find("select");
if ($this.is(":checked")) {
$select.attr("disabled", true);
} else {
$select.removeAttr("disabled");
}
});
});
</script>
</body>
</html>
如何让文本字段在值为0时也隐藏? – billy