我沒想到,但是以下測試在克隆值檢查上失敗了: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 關注
- 539 瀏覽
添加回答
舉報
0/150
提交
取消