jquery移动listbox的值

jQuery操作listbox原理并不难,就是将listbox中的选中项进行移动,实现我们需要的移动效果。我在例子中使用了json数据结构来动态绑定listbox,这样也可以熟悉一下json的使用方法。

先看看简单的html,因为服务器控件会自动转换为html标签,所以在例子中,我并没有用服务器控件。如下:

<asp:ListBox></asp:ListBox>

会自动转换成:<select></select>

html代码如下:

<div style="width:240px;">
    <div style="width:100px;float:left;">
        <select size="4" name="listLeft" id="listLeft" class="normal"> 
        </select> 
        </div>
        <div style="width:40px;float:left; padding-top:20px;">
        <input type="button" id="btnRight" value=">>" /><br />
        <input type="button" id="btnLeft" value="<<" />
        </div>
        <div style="width:100px;float:left;">
        <select size="4" name="listRight" id="listRight" class="normal"> 
        </select>
    </div>
</div>

json数据结构如下:

//data
var vData = { "datalist":
            [
                { "data": "jQuery", "text": "jQuery" },
                { "data": "Asp.net", "text": "Asp.net" },
                { "data": "internet", "text": "internet" },
                { "data": "Sql", "text": "Sql" }
            ]
};

下边就是jQuery实现代码,其中关键地方做了注释。

//bind data
var vlist = "";
//遍历json数据
jQuery.each(vData.datalist, function(i, n) {
    vlist += "<option value=" + n.data + ">" + n.text + "</option>";
});
//绑定数据到listLeft
$("#listLeft").append(vlist);

//left move
$("#btnRight").click(function() {
    //数据option选中的数据集合赋值给变量vSelect
    var vSelect = $("#listLeft option:selected");
    //克隆数据添加到listRight中
    vSelect.clone().appendTo("#listRight");
    //同时移除listRight中的option
    vSelect.remove();
});
//right move 
$("#btnLeft").click(function() {
    var vSelect = $("#listRight option:selected");
    vSelect.clone().appendTo("#listLeft");
    vSelect.remove();
});
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值