我没想到,但是以下测试在克隆值检查上失败了:test("clone should retain values of select", function() { var select = $("<select>").append($("<option>") .val("1")) .append($("<option>") .val("2")); $(select).val("2"); equals($(select).find("option:selected").val(), "2", "expect 2"); var clone = $(select).clone(); equals($(clone).find("option:selected").val(), "2", "expect 2");});这是正确的吗?
3 回答
FFIVE
TA贡献1797条经验 获得超6个赞
用Chief7的答案制作了一个插件:
(function($,undefined) {
$.fn.cloneSelects = function(withDataAndEvents, deepWithDataAndEvents) {
var $clone = this.clone(withDataAndEvents, deepWithDataAndEvents);
var $origSelects = $('select', this);
var $clonedSelects = $('select', $clone);
$origSelects.each(function(i) {
$clonedSelects.eq(i).val($(this).val());
});
return $clone;
}
})(jQuery);
仅对其进行了简短测试,但似乎可以正常工作。
- 3 回答
- 0 关注
- 513 浏览
添加回答
举报
0/150
提交
取消