尝试制作一个make generic选择"控件",我可以动态添加元素,但我无法让函数正常工作.
这就是我的开始.
$select = $(""); $select.addOption = function(value,text){ $(this).append($("").val(value).text(text)); };
这种精细单独工作,但随时$select
被.clone(true)
"ED的addOption()
功能丧失.
这是我的对象方法,但功能仍然不起作用.
function $selectX() { return $(""); } $selectX.prototype.addOption() = function(value,text){ $(this).append($("").val(value).text(text)); };
Hack解决方案是在创建后手动添加该功能:
$nameSelect= new $selectX; $nameSelect.addOption = function(value,text){ $(this).append($("").val(value).text(text)); };
我吠叫错了树吗?
向jQuery添加新方法您需要使用jQuery.fn.methodName
属性,因此在这种情况下它将是:
jQuery.fn.addOption = function (value, text) { jQuery(this).append(jQuery('').val(value).text(text)); };
但请记住,这addOption
可以通过任何$()
呼叫的结果访问.