문제

만들려고 노력하는 일반적인"을 선택하 제어"내가할 수 있습니다 추가 요소이지만,나는 데 문제가 기능을니다.

이것은 무엇을 가지고 시작했는데.

$select = $("<select></select>");
$select.addOption = function(value,text){
  $(this).append($("<option></option>").val(value).text(text));
};

이 잘 작동하지만 언제 $select.clone(true)'ed 의 addOption() 기능을 잃었습니다.

이것이 나의 접근 방식 개체 하지만 여전히 기능이 작동하지 않습니다.

function $selectX() {
  return $("<select></select>");
}

$selectX.prototype.addOption() = function(value,text){
  $(this).append($("<option></option>").val(value).text(text));
};

해킹 솔루션은 추가 기능을 수동으로 생성후:

$nameSelect= new $selectX;
$nameSelect.addOption = function(value,text){
  $(this).append($("<option></option>").val(value).text(text));
};

내가 짖는 잘못된 나무입니까?

도움이 되었습니까?

해결책

를 추가하는 새로운 방법을 jQuery 을 사용할 필요가 jQuery.fn.methodName 특성,그래서 이 경우에는 이 항목은 다음과 같습니다.

jQuery.fn.addOption = function (value, text) {
    jQuery(this).append(jQuery('<option></option>').val(value).text(text));
};

그러나 유지 하는 마음에 이 addOption 에 액세스 할 수 있습니다 결과 $() 전화입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top