Jquery 追加到 (动态由 id )
Jquery append to (dynamic by id)
假设我有id 参数表和两个选择框的功能
<select id="one" onchange="Fill(2)"></select>
<select id="two" onchange="Fill(3)"></select>
<select id="three"></select>
我的函数
function Fill(id){
//some manupulation
$('<option/>').val(substr[0]).html(substr[1]).appendTo('#two');
}
但不是做很多
if(id==2) {$('<option/>').val(substr[0]).html(substr[1]).appendTo('#two');}
if(id==3) {$('<option/>').val(substr[0]).html(substr[1]).appendTo('#three');}
我想要类似的东西
$('<option/>').val(substr[0]).html(substr[1]).appendTo(DYNAMIC);
你可以通过使用 id(如 select-1
、select-2
等(来简化它,然后使用 '#select-' + id
。
否则,您需要一个从数字映射到拼写数字的映射对象。
function Fill(id){
var index = {
1: 'one',
2: 'two',
3: 'three';
};
$('<option/>').val(substr[0]).html(substr[1]).appendTo('#' + index[id]);
// or just, but in this case you need to change the *id* pattern like opt_1, opt_2 etc
$('<option/>').val(substr[0]).html(substr[1]).appendTo('#opt_' + id);
}
比你想象的要容易:)
<select id="select-1" onchange="Fill(2)"></select>
<select id="select-2" onchange="Fill(3)"></select>
<select id="select-3"></select>
function Fill(id){ //
//some manupulation
$('<option/>').val(substr[0]).html(substr[1]).appendTo('select-' + id);
}
我将接受David Thomas的建议:
<select id="one" onchange="Fill(this);"></select>
<select id="two" onchange="Fill(this);"></select>
<select id="three"></select>
填充函数定义为:
function Fill(select) {
$('<option />').val(/*..*/).html(/*..*/).appendTo($(select));
}
然后,您将能够为您的选择提供您想要的任何 id,并且您不必查询 DOM 来查找对象。
将此行添加到填充函数的顶部:
var DYNAMIC = $(this);
相关文章:
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 在iframe代码中动态插入子id
- 如何为动态创建的元素分配唯一的id-Javascript
- 使用getElementById设置动态ID的输入字段的样式
- Php,Javascript-动态表单id's和动态验证
- 动态添加id's到输入字段
- Javascript:获取具有动态id的文本框值
- 如何将value和id动态添加到html下拉选项标记中
- Jquery通过id动态选择对象使用字符串
- 根据ID动态创建元素(Jquery)
- 如何最好地搜索基于特定元素的id动态生成的自定义列表?
- 使用jQuery通过ID动态修改元素属性
- Jquery getjson为每个id动态点击时- ruby on rails
- 通过id动态访问对象数据
- 在d3.js中使用县Id动态地在地图中插入圆圈
- 使用jQuery将ID动态分配给当前表行tr
- 使用Jquery根据可拖放对象的ID动态更改图像的src
- 如何将id动态添加到每个蓝色圆圈中
- 如何通过id动态选择JQuery元素
- 如何设置ID动态创建的文本框在JavaScript