jQuery的appendTo案例

案例要求:点击双击第一个下拉列表框的选项可以把对应选项移到第二个下拉列表框中,选中第一个列表框的选项(可多选)单击-->按钮可使被选中项移动到右边下拉列表框中,单击==>按钮时将左边的所有option选项移到右边,反过来亦是如此。

效果图:

注意点:这里只能使用内部插入,而不能使用外部插入,否则会使得option选项跑到下拉列表框的外面去

存在问题:若是有一个下拉列表框没有选项,则会存在对不齐的现象,求大神看到了告知解决办法

 

源码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>JQUERY</title>
<script src="jquery-3.3.1.js"></script>
<style>
div {
width: 300px;
height: 300px;
background: lightgrey;
border: 1px black solid;
margin: 10px;
float: left;
text-align: center;//设置div面板内容居中显示,能够达到按钮都居中显示的效果
}
#first{
width: 50px;
background: greenyellow;
border: 1px black solid;
margin: 10px;
float: left;
}
#second{
width: 50px;
background: greenyellow;
border: 1px black solid;
margin: 10px;
float: right;
}
button{
text-align: center;

}
</style>
</head>

<body>
<div>
<select id="first" size="10" multiple="true">
<option>北京</option>
<option>天津</option>
<option>上海</option>
<option>广州</option>
<option>广东</option>
<option>南京</option>
<option>武汉</option>
<option>成都</option>
<option>湖北</option>
<option>恩施</option>
</select>

<select id="second" size="10" multiple="true">
</select>
<br/>
<button id="rightOne" value="-->">--></button><br/><br/>
<button id="rightAll" value="==>">==></button><br/><br/>
<button id="leftOne" value="<--"><--</button><br/><br/>
<button id="leftAll" value="<=="><==</button>
</div>
</body>
</html>
<script type="text/javascript">
$("#rightOne").click(function(){
$("#first>option:selected").appendTo($("#second"));
});
$("#rightAll").click(function(){
$("#first>option").appendTo($("#second"));
});
$("#leftOne").click(function(){
$("#second>option:selected").appendTo($("#first"));
});
$("#leftAll").click(function(){
$("#second>option").appendTo($("#first"));
});
$("#first").dblclick(function(){
$("#first>option:selected").appendTo($("#second"));
});
$("#second").dblclick(function(){
$("#second>option:selected").appendTo($("#first"));
});
</script>

转载于:https://www.cnblogs.com/MrZWJ/p/10083381.html

以下是一个基于jQuery实现的留言板案例: HTML结构: ```html <div class="message-board"> <h2>留言板</h2> <form> <div> <label for="name">姓名:</label> <input type="text" id="name" name="name"> </div> <div> <label for="email">邮箱:</label> <input type="email" id="email" name="email"> </div> <div> <label for="message">留言:</label> <textarea id="message" name="message"></textarea> </div> <button type="submit">提交</button> </form> <ul class="message-list"></ul> </div> ``` CSS样式: ```css .message-board form div { margin-bottom: 10px; } .message-board label { display: inline-block; width: 60px; } .message-board textarea { width: 100%; height: 120px; } .message-board .message-list li { margin-bottom: 10px; padding: 10px; border: 1px solid #ddd; } .message-board .message-list li .meta { color: #888; font-size: 12px; margin-bottom: 5px; } ``` jQuery代码: ```javascript $(function() { // 表单提交事件 $('form').submit(function(event) { event.preventDefault(); // 阻止表单默认提交行为 // 获取表单数据 var name = $('#name').val(), email = $('#email').val(), message = $('#message').val(), date = new Date(); // 构造留言数据 var data = { name: name, email: email, message: message, date: date }; // 发送POST请求 $.post('message.php', data, function(result) { // 清空表单 $('form')[0].reset(); // 添加新留言到列表 var li = $('<li>').appendTo('.message-list'); $('<div>').addClass('meta').text(data.name + ' 于 ' + date.toLocaleString() + ' 发表').appendTo(li); $('<div>').addClass('message').text(data.message).appendTo(li); }); }); // 页面首次加载时获取所有留言并添加到列表 $.get('message.php', function(result) { $.each(result, function(index, data) { var li = $('<li>').appendTo('.message-list'); $('<div>').addClass('meta').text(data.name + ' 于 ' + new Date(data.date).toLocaleString() + ' 发表').appendTo(li); $('<div>').addClass('message').text(data.message).appendTo(li); }); }); }); ``` PHP代码(message.php): ```php <?php // 连接数据库 $pdo = new PDO('mysql:host=localhost;dbname=messages', 'username', 'password'); // 设置返回JSON格式 header('Content-Type: application/json'); // 获取所有留言 $stmt = $pdo->query('SELECT * FROM messages'); echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); // 添加新留言 if ($_SERVER['REQUEST_METHOD'] == 'POST') { $stmt = $pdo->prepare('INSERT INTO messages (name, email, message, date) VALUES (?, ?, ?, ?)'); $stmt->execute(array($_POST['name'], $_POST['email'], $_POST['message'], $_POST['date'])); echo json_encode(array('success' => true)); } ``` 以上代码实现了一个简单的留言板功能,用户可以填写姓名、邮箱和留言内容,提交后会将留言存储到MySQL数据库中,同时页面会实时显示所有留言列表。其中,jQuery负责处理表单提交、获取和显示留言列表,PHP负责处理数据存储和获取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值