Page 1 of 1

options.remove를 대채할수 있나요?

Posted: 2006 01 13 17:44 06
by 초보
selectBox 의 options.remove(index)

함수를 대체할수 있는 표준 함수가 있나요?

selectbox를 초기화 하고 싶어서 그렇습니다.

간단히..

Posted: 2006 01 13 21:54 28
by loveisfunny
<select id='selectBox'></select>
--라면...

var select = document.getElementById('selectBox');
select.innerHTML='';

해주면 모두 지워지죠^^

부족하지만.. ^^;;

Posted: 2006 01 14 01:48 51
by k1
저도 아직 많이 부족하지만..
제가 사용하는 걸 올려봅니다.. ^^;
:oops:

옵션 추가하는 거랑 제거하는 함수입니다..
사용법은.. 보시면 아실 듯..

Code: Select all

function AddOption(sel, val, txt) {
	var opt = sel.form.ownerDocument.createElement("option");

	opt.setAttribute("value", val);

	var t = sel.form.ownerDocument.createTextNode(txt);

	opt.appendChild(t);

	sel.appendChild(opt);
}

function DelOption(sel, idx) {
	var opts;

	if (idx<0 || idx>(sel.options.length-1))
		return;

	opts = sel.getElementsByTagName("option");
	sel.removeChild(opts[idx]);
}
도움이 되시길 바랍니다..

DelOption 함수 약간 수정이요 ^^;;

Posted: 2006 01 14 02:18 52
by k1

Code: Select all

function DelOption(sel, idx) {
	var opts = sel.getElementsByTagName("option");

	if (idx<0 || idx>(opts.length-1))
		return;

	sel.removeChild(opts[idx]);
}
:oops:

답변 감사합니다.

Posted: 2006 01 16 14:02 02
by 초보
답변 정말 감사합니다..

Posted: 2006 01 17 12:25 19
by 박민권
dom을 신경쓰지 않고 제거한다면 innerHTML을 사용해도 되지만
정확하게는 k1님이 올려주신 방법이 맞습니다.

[브라우저호환문제?] 부모창의 select에

Posted: 2006 05 15 20:47 26
by 자웅
궁금해서 질문을 드립니다..

부모창의 select값에 option을 추가시 파이어폭스에서는 되는데 IE6에서는 창이 그냥 꺼져 버리더라구요..

Code: Select all

target= window.opener.document.getElementById('SubjectCode');
target.options[target.length]=new Option(currentTitle,currentCode);
위와 같은 코드로 부모의 엘리먼트를 가져와서 자식 창에서 옵션을 추가 하는 코드입니다. 파폭에서는 수행이 되나, IE6에서는 새로 만든 option을 부모창의 그것에 추가하는 순간 창이 꺼져 버립니다...(내용익 길거나 한건아니고 text가 한글이고 value 가 숫자입니다..)


그래서 아래와 같은 수를 써봤는데(createElement사용 및 IE식 엘리먼트 찾기..) 이것역시 파폭에서는 수행이되나 IE6에서는 수행이 안됩니다..

Code: Select all

  /*
  //target=window.opener.document.DescriptiveMetadata.SubjectCode;
    
    newOption = document.createElement("OPTION");
    newOption.value=currentCode;
    newOption.text=currentTitle;
        target.options.add(newOption);//[target.length]=opt;
 //  alert(target.id);
 */

이를 해결할수 있는 크로스한 자바스크립코드를 아시는 분들이 있으시면 조언을 바랄께요...

흐..

위에 함수를 참고해 보세요..

Posted: 2006 05 15 23:31 22
by ...

Code: Select all

function AddOption(sel, val, txt) { 
   var opt = sel.form.ownerDocument.createElement("option"); 

   opt.setAttribute("value", val); 

   var t = sel.form.ownerDocument.createTextNode(txt); 

   opt.appendChild(t); 

   sel.appendChild(opt); 
}

var opener_sel=opener.document.getElementById("SubjectCode");

AddOption(opener_sel, "Value","Text");
위에 있는 함수를 참고해 보세요..