一个小功能已经实现,代码不是很明白。解决思路
一个小功能已经实现,代码不是很明白。
功能就是点按钮,把选中的<select>的<option>,转移到另一个<select>的<option>,如图:
------解决方案--------------------
问题1:嗯。。
问题2:this指$("#id_testar_addleft")。。
问题3:each会遍历你选择的所有值。。。
------解决方案--------------------
1,是的,
2,this 是运行时对象,具体指什么,看怎么用的,
放到
$("#id_testar_addleft" + " option:selected").each(
里就是指选中的 option
3,each 就是jquery的遍历
4,this是对象引用,所以 append(this 就是移动了,
如果想复制过去,
$("#id_testar_addright").append($(this).clone());
就行了
5,你的HTML是精简过的吧,原来的判断重复等都没用到
功能就是点按钮,把选中的<select>的<option>,转移到另一个<select>的<option>,如图:
- JScript code
$("#id_bu_add").click(function(){ var addFlag = true; var to_options = $("#id_testar_addright"); moveForm = function(){ //问题1,这是什么写法,moveForm就相当于函数名么? var temp = $(this).val(); //问题2,这里的this是选择的对象,这是什么语法呢? to_options.each(function(index, domEle2){ if(temp == $(domEle2).val()){ addFlag = false; return false; } });//问题3,当我选择两个值的时候,这个函数执行两次,为什么? if(addFlag){ $("#id_testar_addright").append($(this)); } }; $("#id_testar_addleft" + " option:selected").each(moveForm); });//问题4,为什么结果是数据从左移动到右,而不是拷贝到右? ///////////////////下面是html,class <table> <tr> <td><select id="id_testar_addleft" multiple="true"><option>dd</option><option>ww</option></select></td> <td><button id="id_bu_add" > → </button></td> <td><select id="id_testar_addright" multiple="true"></select></td> </tr> </table>
------解决方案--------------------
问题1:嗯。。
问题2:this指$("#id_testar_addleft")。。
问题3:each会遍历你选择的所有值。。。
------解决方案--------------------
1,是的,
2,this 是运行时对象,具体指什么,看怎么用的,
放到
$("#id_testar_addleft" + " option:selected").each(
里就是指选中的 option
3,each 就是jquery的遍历
4,this是对象引用,所以 append(this 就是移动了,
如果想复制过去,
$("#id_testar_addright").append($(this).clone());
就行了
5,你的HTML是精简过的吧,原来的判断重复等都没用到