作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对这段代码有疑问,我不明白为什么它不起作用。本质上,当单击复选框时,应显示同一 li 中的文本字段。
我不想要“隐藏/显示”,因为这会用其他字段填充数组,所以我正在考虑在选中复选框时用新的输入填充 div。
我遇到问题有什么想法吗?
这是我的 html:
<ul>
<li class="practice"><label><input type="checkbox" value="Practice 1" class="input_control" name="practice_areas[id][name]" /> Practice 1</label> <div class="showOrder"></div></li>
<li class="practice"><label><input type="checkbox" value="Practice 2" class="input_control" name="practice_areas[id][name]" /> Practice 2</label> <div class="showOrder"></div></li>
<li class="practice"><label><input type="checkbox" value="Practice 3" class="input_control" name="practice_areas[id][name]" /> Practice 3</label> <div class="showOrder"></div></li>
<li class="practice"><label><input type="checkbox" value="Practice 4" class="input_control" name="practice_areas[id][name]" /> Practice 4</label> <div class="showOrder"></div></li>
<li class="practice"><label><input type="checkbox" value="Practice 5" class="input_control" name="practice_areas[id][name]" /> Practice 5</label> <div class="showOrder"></div></li>
</ul>
这是我的 JavaScript:
<script>
jQuery('li.practice').each(function() {
jQuery(".input_control", this).click(function() {
jQuery('.showOrder', this).html('<label>Order: <input type="text" size="2" name="practice_area[id][order]" value="" /></label>');
});
});
</script>
最佳答案
您误用了 $(selector, context)
,.showOrder
元素不在被单击元素的上下文中。
$('li.practice .input_control').change(function(){
var $target = $(this).closest('li').find('.showOrder');
if (this.checked) {
$target.html('<label>Order: <input type="text" size="2" name="practice_area[id][order]" value="" /></label>');
} else {
$target.empty();
}
});
关于javascript - 单击复选框时显示文本输入 - Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691603/
我是一名优秀的程序员,十分优秀!