0
여기에 모든 것이 있습니다. 제안 사항을 넣으려고했는데 행의 색상을 변경하는 것과 비슷하지만 한 번만 변경하고 이후에는 모든 행을 변경합니다. 이상한 배경색.동적으로 텍스트 입력을 만들기 위해 텍스트 값 추가하기
기본적으로 동적으로 행을 추가하려고하는데 작동하는 입력 텍스트 필드를 마스크하고 endtime_1에서 값을 가져 와서 다음에 추가 된 행의 starttime_2 (동적 추가)에 넣습니다. addrow () 버튼을 클릭합니다. addrow() 버튼을 클릭하면 endtime_2 (동적 추가) 값을 가져 와서 starttime_3 (동적 추가)에 넣습니다. 등등 등등 .... 그것은 작동하지 않습니다. 홀수 번호의 행마다 배경 스타일을 지정하여 색상을 지정하고 싶습니다.
도움을 미리 감사드립니다. 에리히
<script type="text/javascript">
function maskInput(){
$.mask.definitions['~'] = "[+-]";
$(".time").mask("99:99 aa");
$("input").blur(function() {
$("#info").html("Unmasked value: " + $(this).mask());
}).dblclick(function() {
$(this).unmask();
});
}
var clone;
function cloneRow(){
var rows=document.getElementById('TimeCard').getElementsByTagName('tr');
var index=rows.length-1;
clone=rows[index-0].cloneNode(true);
if (index % 2 !=0) { $(clone).addClass("odd"); }
var inputs=clone.getElementsByTagName('input'), inp, i=0,n ;
while(inp=inputs[i++]){
inp.name=inp.name.replace(/\d/g,'')+(index+1);
$('#starttime_'+index).attr('value',$('#endtime_'+index-1).attr('value'));
}
var select=clone.getElementsByTagName('select'), sel, i=0,n ;
while(sel=select[i++]){
sel.name=sel.name.replace(/\d/g,'')+(index+1);
}
maskInput();
}
function addRow(){
var tbo=document.getElementById('TimeCard').getElementsByTagName('tbody')[0];
tbo.appendChild(clone);
cloneRow();
}
function checkDOM(){
var rows=document.getElementById('TimeCard').getElementsByTagName('tr');
for(var i=0;i<rows.length;i++){
alert(rows[i].getElementsByTagName('input')[0].name);
}
}
onload=cloneRow;
</script>
<style type="text/css">
.odd { background-color:#CCC; }
</style>
<table border='0' id='TimeCard' width='950'>
<tr class="odd">
<td align="left" width="100"><b><i><u>Select Type</u></i></b></td>
<td align="left" width="20"> </td>
<td align="left" width="100"><b><i><u>Select Property</u></i></b></td>
<td align="left"> </td>
<td align="left" width="100"><b><i><u>Start Time</u></i></b></td>
<td align="left" width="100"><b><i><u>End Time</u></i></b></td>
<td align="left" width="20"> </td>
</tr>
<tr class="even">
<td align="left" width="100">
<select name="type_1" id="type_1" class="validate[required]">
<option selected value=''> -- Please Select -- </option>
<option value="office">Office</option>
<option value="work">Working</option>
<option value="drive">Driving</option>
<option value="break">Break</option>
<option value="lunch">Lunch</option>
<option value="personal">Personal</option>
</select>
</td>
<td align="left" width="20"> </td>
<td align="left" width="100">
<select name="propid_1" id="propid_1" class="validate[required]">
<option selected value=''> -- Please Select -- </option>
</select>
</td>
<td align="left"> </td>
<td align="left" width="100"><input type="text" class="time" id="starttime_1" name="starttime_1" size="10" /></td>
<td align="left" width="100"><input type="text" class="time" id="endtime_1" name="endtime_1" size="10" /></td>
<td align="center" width="20"><input type="button" value=' + ' onclick='addRow();' /></td>
</tr>
</table>
jQuery를 사용하는 경우 왜 getElementById를 사용합니까 – mgraph
코드를 들여 쓰기하면 더 읽기 쉬워집니다. 또한 샘플/대표 HTML을 게시하십시오. 가능하다면 [JS Fiddle] (http://jsfiddle.net/) 또는 유사한 데모가 유용 할 것입니다. @mgraph : jQuery 메서드가 필요하지 않으면 기본 JavaScript가 더 효율적으로 수행됩니다. 항상 나쁜 것은 아닙니다. –
@David Thomas 들여 쓰기에 대해 죄송합니다. 그것은 지금이고 또 다시 있어야합니다. HTML 테이블은 그 밖의 모든 것과 함께 게시되므로 사용자가 의미하는 것이 확실하지 않습니다. –