页面上有俩个下拉框,初始化的时候动态加载option项目,遇到了这样的问题,代码如下
var $newItem = $("<option value=''>-请选择-</option>");
$drpCountry.append($newItem);
$drpProvince.append($newItem);
此时页面加载后 drpProvince 下拉框 加载了这个新项,而drpCountry没有加载,
换了种写法:
$drpCountry.append($("<option value=''>-请选择-</option>"));
$drpProvince.append($("<option value=''>-请选择-</option>"));
这样就可以了
那么针对第一种情况,大家有没有好的写法,推荐下。
------解决方案--------------------
去掉$这个符号试试
------解决方案--------------------
使用jquery标准写法吧!
$('#select1,#select2').append(appoption);和$('select').append(appoption);任选一种
- HTML code
<html> <body> <select id="select1"></select> <select id="select2"></select> <script language="javascript"> var appoption = "<option value=''>-请选择-</option>"; //$('#select1,#select2').append(appoption); $('select').append(appoption); </script> </body> </html>
------解决方案--------------------
var newItem = "<option value=''>-请选择-</option>"; // 直接字符串好了,用jquery包装一层反而浪费资源
$drpCountry.append(newItem);
$drpProvince.append(newItem);
------解决方案--------------------
看看API吧,jquery中的append方法传入的参数类型是String, Element!
------解决方案--------------------
1、append() 方法在被选元素的结尾(仍然在内部)插入指定内容。
- JScript code
$(selector).append(content);
------解决方案--------------------
$drpCountry.append($newItem.clone());
$drpProvince.append($newItem.clone());
明白了没