<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language='javascript'>
//
// name : 객체명
// data : 배열정보 1차 |, 2차 :
//
// ----------------------------------------------------------------
// this.nType
// ----------------------------------------------------------------
//
//_select [0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//_radio[0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//_chkbox [0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//
// 내용을 시작
//
objElement = function(tag,name,data,f_field)
{
//
// 오류 메세지
//
var _ERROR = {
nottag : "테그명을 넣어주세요",
notname : "객체명을 넣어주세요",
notdata : "데이터를 입력하세요"
}
//
// 기본 설정 값
//
this.aData = '';
this.sOthers = '';// 각종 이벤트(click.blur..)들을 위한 내용
this.nType = 1;
this.sFirstField = '선택';
this.sSelected = '';
this.bRepeat = 0;
}
objElement.prototype.create = function(tag,name,data,f_field)
{
this.sTag = tag.toLowerCase();
this.sName = name;
this.sData = data;// data1|data2| or data1:data2|data3:data4
if(this.bRepeat==0) this.sOthers='';
if(f_field) this.sFirstField = f_field;
if(!this.sTag) alert(this._ERROR['nottag']);
if(!this.sName) alert(this._ERROR['notname']);
if(!this.sData) alert(this._ERROR['notdata']);
this.aData = this.sData.split("|");// str => arr
switch(this.sTag)
{
case "select": this._select();break;
case "radio": this._radio();break;
case "chkbox": this._chkbox();break;
}
this.__free();
}
objElement.prototype._select = function()
{
with(document)
{
write('<select name="'+this.sName+'" ');
if(this.sOthers) write(this.sOthers);
write('><option value="">'+this.sFirstField);
var j=1;
for(var i=0; i<this.aData.length;++i)
{
switch(parseInt(this.nType))
{
case 0:
write('<option value="'+j+'" ');
if(j == this.sSelected) write('SELECTED');
write('>'+this.aData[i]);
++j;
break;
case 1:
write('<option value="'+this.aData[i]+'" ');
if(this.aData[i] == this.sSelected) write('SELECTED');
write('>'+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write('<option value="'+aDataT[0]+'" ');
if(aDataT[0] == this.sSelected) write('SELECTED');
write('>'+aDataT[1]);
break;
}
}
write('</select>');
}
}
// ----------------------------------------------------------------
objElement.prototype._radio = function()
{
if(this.bRepeat==0)
aOthers = this.sOthers?this.sOthers.split("|"):'';
with(document)
{
var j=1;
for(var i=0; i<this.aData.length;++i)
{
write("<input type='radio' name='"+this.sName+"' ");
if(this.bRepeat==0)
{
if(aOthers) write(aOthers[i]);
}
else
{
if(this.sOthers) write(this.sOthers);
}
write(" value='");
switch(parseInt(this.nType))
{
case 0:
write(j+"' ");
if(j == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+this.aData[i]);
++j;
break;
case 1:
write(this.aData[i]+"' ");
if(aData[i] == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write(aDataT[0]+"' ");
if(aDataT[0] == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+aDataT[1]);
break;
}
}
}
}
objElement.prototype._chkbox = function()
{
aOthers = this.sOthers?this.sOthers.split("|"):'';
aSelected = this.sSelected?this.sSelected.split('|'):'';// 1|1|1
with(document)
{
var j=1;
for(var i=0; i<this.aData.length;++i)
{
write("<input type='checkbox' name='"+this.sName+"' ");
if(this.bRepeat==0)
{
if(aOthers) write(aOthers[i]);
}
else
{
if(this.sOthers) write(this.sOthers);
}
write(" value='");
switch(parseInt(this.nType))
{
case 0:
write(j+"' ");
if(aSelected[i]) write('CHECKED');
write(" />"+this.aData[i]);
++j;
break;
case 1:
write(this.aData[i]+"' ");
if(aData[i] == aSelected[i]) write('CHECKED');
write(" />"+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write(aDataT[0]+"' ");
if(aDataT[0] == aSelected[i]) write('CHECKED');
write(" />"+aDataT[1]);
break;
}
}
}
}
objElement.prototype.__free = function()
{
this.aData = '';
this.sData = '';
this.sSelected = '';
if(this.bRepeat==0) this.sOthers = '';
this.bRepeat = 0;
}
</script>
</HEAD>
<BODY>
<script>
var slt1 = new objElement();
slt1.nType = 2;
slt1.bRepeat = 1;
slt1.sOthers = "onclick='alert(this.value);'";
slt1.create('radio','helo','x:test|y:test2|z:test3');
document.write('<br><br>');
slt1.nType= 0;
slt1.create('select','naro','test|test2|test3');
document.write('<br><br>');
slt1.nType= 0;
slt1.sSelected = '1|1|1';
slt1.create('chkbox','naro','체크1|체크2|체크3');
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language='javascript'>
//
// name : 객체명
// data : 배열정보 1차 |, 2차 :
//
// ----------------------------------------------------------------
// this.nType
// ----------------------------------------------------------------
//
//_select [0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//_radio[0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//_chkbox [0] : value->numbertext->array
//[1] : value->arraytext->array
//[2] : value->array[0]text->array[1]
//
//
// 내용을 시작
//
objElement = function(tag,name,data,f_field)
{
//
// 오류 메세지
//
var _ERROR = {
nottag : "테그명을 넣어주세요",
notname : "객체명을 넣어주세요",
notdata : "데이터를 입력하세요"
}
//
// 기본 설정 값
//
this.aData = '';
this.sOthers = '';// 각종 이벤트(click.blur..)들을 위한 내용
this.nType = 1;
this.sFirstField = '선택';
this.sSelected = '';
this.bRepeat = 0;
}
objElement.prototype.create = function(tag,name,data,f_field)
{
this.sTag = tag.toLowerCase();
this.sName = name;
this.sData = data;// data1|data2| or data1:data2|data3:data4
if(this.bRepeat==0) this.sOthers='';
if(f_field) this.sFirstField = f_field;
if(!this.sTag) alert(this._ERROR['nottag']);
if(!this.sName) alert(this._ERROR['notname']);
if(!this.sData) alert(this._ERROR['notdata']);
this.aData = this.sData.split("|");// str => arr
switch(this.sTag)
{
case "select": this._select();break;
case "radio": this._radio();break;
case "chkbox": this._chkbox();break;
}
this.__free();
}
objElement.prototype._select = function()
{
with(document)
{
write('<select name="'+this.sName+'" ');
if(this.sOthers) write(this.sOthers);
write('><option value="">'+this.sFirstField);
var j=1;
for(var i=0; i<this.aData.length;++i)
{
switch(parseInt(this.nType))
{
case 0:
write('<option value="'+j+'" ');
if(j == this.sSelected) write('SELECTED');
write('>'+this.aData[i]);
++j;
break;
case 1:
write('<option value="'+this.aData[i]+'" ');
if(this.aData[i] == this.sSelected) write('SELECTED');
write('>'+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write('<option value="'+aDataT[0]+'" ');
if(aDataT[0] == this.sSelected) write('SELECTED');
write('>'+aDataT[1]);
break;
}
}
write('</select>');
}
}
// ----------------------------------------------------------------
objElement.prototype._radio = function()
{
if(this.bRepeat==0)
aOthers = this.sOthers?this.sOthers.split("|"):'';
with(document)
{
var j=1;
for(var i=0; i<this.aData.length;++i)
{
write("<input type='radio' name='"+this.sName+"' ");
if(this.bRepeat==0)
{
if(aOthers) write(aOthers[i]);
}
else
{
if(this.sOthers) write(this.sOthers);
}
write(" value='");
switch(parseInt(this.nType))
{
case 0:
write(j+"' ");
if(j == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+this.aData[i]);
++j;
break;
case 1:
write(this.aData[i]+"' ");
if(aData[i] == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write(aDataT[0]+"' ");
if(aDataT[0] == this.sSelected||!i == !this.sSelected) write('CHECKED');
write(" />"+aDataT[1]);
break;
}
}
}
}
objElement.prototype._chkbox = function()
{
aOthers = this.sOthers?this.sOthers.split("|"):'';
aSelected = this.sSelected?this.sSelected.split('|'):'';// 1|1|1
with(document)
{
var j=1;
for(var i=0; i<this.aData.length;++i)
{
write("<input type='checkbox' name='"+this.sName+"' ");
if(this.bRepeat==0)
{
if(aOthers) write(aOthers[i]);
}
else
{
if(this.sOthers) write(this.sOthers);
}
write(" value='");
switch(parseInt(this.nType))
{
case 0:
write(j+"' ");
if(aSelected[i]) write('CHECKED');
write(" />"+this.aData[i]);
++j;
break;
case 1:
write(this.aData[i]+"' ");
if(aData[i] == aSelected[i]) write('CHECKED');
write(" />"+this.aData[i]);
break;
case 2:
var aDataT = this.aData[i].split(":");
write(aDataT[0]+"' ");
if(aDataT[0] == aSelected[i]) write('CHECKED');
write(" />"+aDataT[1]);
break;
}
}
}
}
objElement.prototype.__free = function()
{
this.aData = '';
this.sData = '';
this.sSelected = '';
if(this.bRepeat==0) this.sOthers = '';
this.bRepeat = 0;
}
</script>
</HEAD>
<BODY>
<script>
var slt1 = new objElement();
slt1.nType = 2;
slt1.bRepeat = 1;
slt1.sOthers = "onclick='alert(this.value);'";
slt1.create('radio','helo','x:test|y:test2|z:test3');
document.write('<br><br>');
slt1.nType= 0;
slt1.create('select','naro','test|test2|test3');
document.write('<br><br>');
slt1.nType= 0;
slt1.sSelected = '1|1|1';
slt1.create('chkbox','naro','체크1|체크2|체크3');
</script>
</BODY>
</HTML>
'JavaScript' 카테고리의 다른 글
자바스크립트의 클래스화 (2) | 2007.04.03 |
---|---|
js로 문자열 자르기, 바이트 구하기 (0) | 2007.03.31 |
자바스크립트로 클래스 만들기 (0) | 2007.03.31 |
_root.onLoad = function() {} (0) | 2007.03.30 |
젠장 자바스크립트 아직도 배울것이 남았다니..ㅠ.ㅠ (0) | 2007.03.28 |