页面加载时,只有一行输入框和右边一个新增按钮,没有任何删除按钮。 点击新增按钮时,在最后一行输入框的上面新增一行,并显示所有删除按钮,但除了第一行 点击某一行删除按钮时,删除该行,并根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮。如果只剩一行,则隐藏所有删除按钮,
时间: 2023-12-19 16:05:48 浏览: 71
你的问题是关于一个页面的交互设计,需要实现以下功能:
1. 页面加载时只有一个输入框和一个新增按钮;
2. 点击新增按钮时,在最后一行输入框的上方新增一行,并显示所有删除按钮;
3. 除了第一行,点击删除按钮时,删除该行,并根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮;
4. 如果只剩一行,则隐藏所有删除按钮。
这个功能可以通过以下步骤实现:
1. 在页面加载时,只显示一个输入框和一个新增按钮。
2. 当用户点击新增按钮时,使用 JavaScript 动态创建一个新的输入框行,并在该行的上方显示所有删除按钮。同时,将新增按钮移动到新的输入框行的底部。
3. 当用户点击某一行的删除按钮时,使用 JavaScript 删除该行,并根据当前行数(除了新增按钮外)来判断是否需要隐藏其他删除按钮。如果只剩下一行,则隐藏所有删除按钮。
需要注意的是,这个交互设计需要考虑到用户体验和页面性能。在实现时,可以使用现有的前端框架或库来简化开发过程,例如 jQuery 或 React 等。
相关问题
写代码,页面加载时只有一个输入框和一个新增按钮; 点击新增按钮时,在最后一行输入框的上方新增一行,并显示所有删除按钮; 除了第一行,点击删除按钮时,删除该行,并根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮; 如果只剩一行,则隐藏所有删除按钮。
好的,以下是一个简单的实现,使用了 jQuery 来简化操作:
HTML:
```
<div id="input-wrapper">
<div class="input-row">
<input type="text" class="input-box">
<button class="delete-btn hidden">删除</button>
</div>
<button id="add-btn">新增</button>
</div>
```
CSS:
```
.hidden {
display: none;
}
```
JavaScript:
```
$(document).ready(function() {
// 初始化
$(".delete-btn").addClass("hidden");
// 新增按钮点击事件
$("#add-btn").click(function() {
// 在最后一行输入框的上方新增一行
var newRow = $("<div class='input-row'><input type='text' class='input-box'><button class='delete-btn'>删除</button></div>");
$(".input-row:last").before(newRow);
// 显示所有删除按钮
$(".delete-btn").removeClass("hidden");
// 如果只剩一行,隐藏所有删除按钮
if ($(".input-row").length == 2) {
$(".delete-btn").addClass("hidden");
}
});
// 删除按钮点击事件
$(document).on("click", ".delete-btn", function() {
// 删除该行
$(this).parent().remove();
// 根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮
if ($(".input-row").length == 2) {
$(".delete-btn").addClass("hidden");
}
});
});
```
在页面加载时,只有一个输入框和一个新增按钮,点击新增按钮时,会在最后一行输入框的上方新增一行,并显示所有删除按钮,除了第一行,点击删除按钮时,会删除该行,并根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮,如果只剩一行,则隐藏所有删除按钮。
js 动态的新增和删除一行input框,只有最后一行有新增按钮和删除按钮,其他行只有删除按钮,当只剩一行的时候只有新增按钮
可以使用jQuery来实现动态新增和删除一行input框的功能。以下是示例代码:
```html
<!-- HTML代码 -->
<div id="container">
<div class="row">
<input type="text" name="input[]">
<button class="delete-btn">删除</button>
</div>
<button id="add-btn">新增</button>
</div>
```
```javascript
// JavaScript代码
$(function() {
// 初始化,只有一行时隐藏删除按钮
$('.row').not(':last').find('.delete-btn').hide();
// 新增按钮点击事件
$('#add-btn').click(function() {
var newRow = $('<div class="row"><input type="text" name="input[]"><button class="delete-btn">删除</button></div>');
newRow.insertBefore('#add-btn');
$('.delete-btn').show(); // 显示所有删除按钮
$('.row').not(':last').find('.delete-btn').hide(); // 隐藏除最后一行外的所有删除按钮
});
// 删除按钮点击事件
$(document).on('click', '.delete-btn', function() {
$(this).parent().remove();
if ($('.row').length === 1) {
$('.delete-btn').hide(); // 只剩一行时隐藏删除按钮
} else {
$('.row').not(':last').find('.delete-btn').show(); // 显示除最后一行外的所有删除按钮
}
});
});
```
以上代码实现了以下功能:
- 页面加载时,只有一行输入框和一个新增按钮,没有任何删除按钮。
- 点击新增按钮时,在最后一行输入框的下面新增一行,并显示所有删除按钮,但除了最后一行外的所有删除按钮都隐藏。
- 点击某一行删除按钮时,删除该行,并根据当前行数(除了新增按钮外)决定是否隐藏其他删除按钮。如果只剩一行,则隐藏所有删除按钮,否则只隐藏除最后一行外的所有删除按钮。
阅读全文