js 左边项 --> 右边 转

本文提供了一个使用JavaScript动态创建并操作HTML下拉列表选项的示例,包括添加和删除分包的功能。通过jQuery简化了DOM操作,展示了如何从数据库读取数据动态填充列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE HTML>
<html>
<head>
<meta charset="gb2312">
<title>111</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

/**
 *动态的给左边的下拉列表创建选项
 *具体情况可以从数据库读取数据动态创建选项
 */
$(document).ready(function(){
    for(var i=1;i<=5;i++)
    {
       $("#fb_list").append("<option value='"+i+"'>公开招标小型机采购00"+i+"</option>"); 
    }
})
$(function(){
  $("#add").click(function(){
       if($("#fb_list option:selected").length>0)
       {
           $("#fb_list option:selected").each(function(){
              $("#select_list").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");
              $(this).remove(); 
           })
       }
       else
       {
           alert("请选择要添加的分包!");
       }
   })
})
$(function(){
      $("#delete").click(function(){
           if($("#select_list option:selected").length>0)
           {
               $("#select_list option:selected").each(function(){
                     $("#fb_list").append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option");
                     $(this).remove(); 
               })
           }
           else
           {
               alert("请选择要删除的分包!");
           }
     })
})

</script>
</head>
<body>
<table width="95%" cellpadding="0" align="center" class="listshow" border="1" cellspacing="0">

<tr>
 <td class="black" width="30%" align="center" height="150">
       <select id="fb_list" multiple="multiple" style="text-align:center;width:300px;height:150px;">
        </select> 
    </td>
    <td align="center" width="5%">
    <input type="button" id="add" value="添加>>" />
      <br/>
      <br/>
      <input type="button" id="delete" value="<<删除" />
    </td>
    <td class="black" width="30%" align="center">
    <select id="select_list" multiple="multiple" style=" text-align:center;width:300px;height:150px;">
      </select>
    </td>
</tr>
</table>


</body>
</html>
function SystemStatus({}) { // 模拟初始系统状态数据(添加了version字段) const initialStatusData = { routerImage: "https://example.com/router.png", uploadRate: "1.2 Mbps", downloadRate: "15.8 Mbps", wanStatus: { ipv4: "122.77.241.10", subnetMask: "255.255.255.0", dns1: "8.8.8.8", dns2: "8.8.4.4" }, systemStatus: { model: "FAST FW300R", hostname: "Home-Router", cpuUsage: "24%", memoryUsage: "512MB / 1GB (51%)", uptime: "3天12小时45分钟", version: "V1.2.0" // 新增版本号字段 }, connectionStatus: { onlineDevices: 8, networkConnections: 24 } }; const [status, setStatus] = useState(null); const [refreshTime, setRefreshTime] = useState(new Date()); // 模拟获取系统状态 const refresh = () => { return new Promise(resolve => { setTimeout(() => { setStatus({ ...initialStatusData }); setRefreshTime(new Date()); resolve(); }, 300); }); }; useEffect(() => { refresh(); const interval = setInterval(refresh, 60000); return () => clearInterval(interval); }, []); if (!status) return html`<div class="flex justify-center items-center h-32">加载中...</div>`; return html` <div class="m-4 grid grid-cols-1 gap-4"> <div class="py-1 divide-y border rounded bg-white flex flex-col"> <div class="flex items-center justify-between px-4 py-2"> <div class="font-light uppercase text-gray-600">路由器状态</div> <div class="text-xs text-gray-500"> 最后更新: ${refreshTime.toLocaleTimeString()} <button class="ml-2 text-blue-600 hover:text-blue-800" onClick=${refresh} > 刷新 </button> </div> </div> <div class="py-2 px-5 flex-1 flex flex-col"> <div class="grid grid-cols-1 md:grid-cols-3 gap-4"> <!-- 路由器图片和上下行速率 --> <div class="border rounded p-3 flex flex-col items-center"> <h3 class="text-sm font-medium text-gray-700 mb-2">路由器视图</h3> <img src=${status.routerImage} alt="路由器设备" class="w-32 h-32 object-contain mb-4" /> <div class="text-center"> <div class="text-sm font-medium">${status.systemStatus.model}</div> <div class="text-xs text-gray-500">${status.systemStatus.hostname}</div> </div> <div class="mt-4 w-full"> <div class="flex justify-between mb-1"> <span class="text-xs text-gray-600">上传速率</span> <span class="text-xs font-medium">${status.uploadRate}</span> </div> <div class="w-full bg-gray-200 rounded-full h-2"> <div class="bg-blue-500 h-2 rounded-full" style=${{ width: "30%" }} ></div> </div> <div class="flex justify-between mb-1 mt-2"> <span class="text-xs text-gray-600">下载速率</span> <span class="text-xs font-medium">${status.downloadRate}</span> </div> <div class="w-full bg-gray-200 rounded-full h-2"> <div class="bg-green-500 h-2 rounded-full" style=${{ width: "70%" }} ></div> </div> </div> </div> <!-- WAN口状态 --> <div class="border rounded p-3"> <h3 class="text-sm font-medium text-gray-700 mb-2">WAN口状态</h3> <div class="space-y-2"> <div class="flex justify-between"> <span class="text-sm text-gray-600">IPv4地址</span> <span class="text-sm font-medium">${status.wanStatus.ipv4}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">子网掩码</span> <span class="text-sm font-medium">${status.wanStatus.subnetMask}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">DNS1</span> <span class="text-sm font-medium">${status.wanStatus.dns1}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">DNS2</span> <span class="text-sm font-medium">${status.wanStatus.dns2}</span> </div> </div> </div> <!-- 系统状态(添加了版本号显示) --> <div class="border rounded p-3"> <h3 class="text-sm font-medium text-gray-700 mb-2">系统状态</h3> <div class="space-y-2"> <div class="flex justify-between"> <span class="text-sm text-gray-600">型号</span> <span class="text-sm font-medium">${status.systemStatus.model}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">主机名</span> <span class="text-sm font-medium">${status.systemStatus.hostname}</span> </div> <!-- 新增版本号显示 --> <div class="flex justify-between"> <span class="text-sm text-gray-600">固件版本</span> <span class="text-sm font-medium">${status.systemStatus.version}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">CPU使用率</span> <span class="text-sm font-medium">${status.systemStatus.cpuUsage}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">内存占用</span> <span class="text-sm font-medium">${status.systemStatus.memoryUsage}</span> </div> <div class="flex justify-between"> <span class="text-sm text-gray-600">运行时间</span> <span class="text-sm font-medium">${status.systemStatus.uptime}</span> </div> </div> </div> </div> <!-- 连接状态(已调整为整行显示) --> <div class="mt-4"> <div class="border rounded p-3"> <h3 class="text-sm font-medium text-gray-700 mb-2">连接状态</h3> <div class="grid grid-cols-2 gap-4"> <div class="bg-blue-50 rounded p-3 text-center"> <div class="text-2xl font-bold">${status.connectionStatus.onlineDevices}</div> <div class="text-sm text-gray-600">在线终端</div> </div> <div class="bg-green-50 rounded p-3 text-center"> <div class="text-2xl font-bold">${status.connectionStatus.networkConnections}</div> <div class="text-sm text-gray-600">网络连接数</div> </div> </div> </div> </div> </div> </div> </div>`; } 得到的数据往左移动一点,不要太靠右
最新发布
07-20
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Educoder</title> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> <script src="step2/verify.js"></script> </head> <style> .logo-block{ display: flex; align-items: center; justify-content: center; } header { background: #24292D; height: 60px; justify-content: space-between; padding: 0 25px; } body { padding: 0; margin: 0; } header > div { height: 100%; display: flex; align-items: center; } .container{ background-color:#24292F } .flex { display: flex; } .logo { width: 40px; height: 38px; margin-right: 30px; } .full-height{ height: 100%; } .menu-item { color: #ffffff; font-size: 16px; width: 64px; height: 100%; display: flex; align-items: center; margin-right: 30px; position: relative; } .hot{ position: absolute; top: 10px; right: -22px; } </style> <body> <div class="container"> <header class="flex"> <div class="left-wrap"> <!--********** Begin **********--> <div class="logo-block"> <img src="https://data.educoder.net/images/educoder/headNavLogo.png?1526520218" class="logo"> </div> <div class="menu-block full-height flex"> <div class="menu-item"><span>实践课程</span></div> <div class="menu-item"><span>翻课堂</span></div> <div class="menu-item"><span>实训目</span></div> <div class="menu-item"><span>在线竞赛 <img class="hot" src="https://data.educoder.net/api/attachments/dHVqMmNpRTRMblVNd0EzVFg1NGxYZz09" width="40%" height="30%"></span> </div> <div class="menu-item"><span>教学案例</span></div> <div class="menu-item"><span>交流问答</span></div> </div> <!--********** End **********--> </div> <div class="right-wrap"> </div> </header> </div> </body> </html>任务描述 本关任务:实现导航栏的左侧文字导航列表。 效果图如下: 相关知识 使用flex进行水平排列布局: <div class="parent-wrap"> <div style="background: #0081ff;"></div> <div style="background: #9c26b0;"></div> <div style="background: #a5673f;"></div> </div> .parent-wrap{ width: 300px; height: 60px; display: flex; } .parent-wrap > div{ flex: 1; text-align: center; line-height: 60px; } 编程要求 在右侧编辑器中补充代码,使用flex布局实现Educoder顶部导航栏左侧logo与文字列表效果,具体要求如下: 文字列表使用flex布局,文字颜色为白色,文字大小:16px 文字容器宽度64px,各文字容器之间距离30px logo宽高:40px * 38px logo距离屏幕左侧25px,距离文字列表30px logo图片地址:https://data.educoder.net/images/educoder/headNavLogo.png?1526520218 ‘在线竞赛’右上方HOT地址:https://data.educoder.net/api/attachments/dHVqMmNpRTRMblVNd0EzVFg1NGxYZz09 文字列表从左至右依次为:课程实践、翻课堂、实训目、在线竞赛、教学案例、交流问答 效果图如下: 测试说明 测试过程: 平台将读取用户补全后的index.html; 执行verify.js文件JQuery代码; 通过JQuery获取文档属性,对比属性值是否与编程要求一致; 最终效果与编程要求一致则通关,如未通过,请查看测试结果中的测试集;
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值