0
テキストフィールドを表示/非表示にする際に問題があります。ここでの例です:選択した値が1に等しく、他のすべてのために非表示にするとき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