2014-03-25 4 views
0

달을 나타내는 테이블과 목표 셀에 두 개의 입력 필드가 있습니다. 이제 숨겨진 필드가 아닌 모든 값을 다음 셀()의 해당 필드에 복사하는 단추를 추가하고 싶습니다. 그러나 나는 광고 jQuery가 좋지 않아이를 사용할 수 없습니다. 마크 업은 Ajax 요청을 통해 추가되지만 imho는 문제가 없어야합니다. "on"문서를 사용하고 있습니다.입력 필드의 값을 다음 테이블 셀의 해당 입력 필드에 복사

편집 : "다음 셀"이란 내 마크 업에서 두 ​​번째 태그를 의미합니다. 셀의 값을 <li class="disabled"><span>4</span></li> 셀에 복사하고 싶습니다. 이것은

<li class="next copyNext"><a href="#">→</a></li>을 클릭하여 수행해야 내 마크 업 :

<table> 
<tr> 
<td> 
<ul class="pager"> 
       <li class="previous"><a href="#">←</a></li> 
       <li class="disabled"><span>3</span></li> 
       <li class="next copyNext"><a href="#">→</a></li> 
      </ul> 

<select class="form-control" id="Staffings_0__CenterId" name="Staffings[0].CenterId"> 
<option value="13">ACD</option> 
<option value="142">AG</option> 
<option selected="selected" value="51">HINS</option> 
</select> 
</td> 
<td> 
<ul class="pager"> 
       <li class="previous"><a href="#">←</a></li> 
       <li class="disabled"><span>4</span></li> 
       <li class="next disabled"><a href="#">→</a></li> 
      </ul> 

<select class="form-control" id="Staffings_1__CenterId" name="Staffings[1].CenterId"> 
<option value="13">ACD</option> 
<option selected="selected" value="142">AG</option> 
<option value="51">HINS</option> 
</select> 
</td> 
</tr> 
</table> 

그리고 내 자바 스크립트 :

$(document).on('click', '.copyNext', function() { 
    var self = $(this); 
    var containingTd = self.parents('td'); 
    containingTd.children("input[type!='hidden']").each(function (index, element) { 
     var name = $(this).attr('name'); 
     var value = $(this).val(); 
     var nameArr1 = name.split('['); 
     var nameBeforeIndex = nameArr1[0]; 
     var nameArr2 = nameArr1[1].split(']'); 
     var index = parseInt(nameArr2[0]); 
     var nameAfterIndex = nameArr2[1]; 
     var nextIndex = index + 1; 
     var nextName = nameBeforeIndex + '[' + nextIndex + ']' + nameAfterIndex; 
     var nextElement = $(this).next("name=['" + nextName + "']"); 
     nextElement.val(value); 
    }); 
}); 
+0

I 돈 당신의 바이올린에서 무엇이든 얻으십시오. '다음 셀'은 무엇을 의미합니까? 나는 다음 빈 셀을 보지 못합니다. 당신이 그 바이올린으로 무엇을하고 싶은지 확실하지 않습니다. –

+0

제 편집이 만들어주기를 바랍니다. "다음 세포"로 무엇을 의미하는지 확인하십시오. 그렇지 않다면 알려주세요. – wertzui

답변

0

내 스크립트는이 문제를 포함 : 1. 만 입력 요소에 대한 검색을하지만, 내가 선택한 요소를 사용하고 있습니다. 2. var에 nextElement은 ... 대괄호는 '이름 앞에와이어야하고 "전환했다

여기에 의도 한대로 작동하고 나의 새로운 스크립트입니다.

$(document).on('click', '.copyNext', function() { 
    var self = $(this); 
    var containingTd = self.parents('td'); 
    var children = containingTd.find("input[type!='hidden'],select[type!='hidden']"); 
    children.each(function (index, element) { 
     var name = $(this).attr('name'); 
     var value = $(this).val(); 
     var nameArr1 = name.split('['); 
     var nameBeforeIndex = nameArr1[0]; 
     var nameArr2 = nameArr1[1].split(']'); 
     var index = parseInt(nameArr2[0]); 
     var nameAfterIndex = nameArr2[1]; 
     var nextIndex = index + 1; 
     var nextName = nameBeforeIndex + '[' + nextIndex + ']' + nameAfterIndex; 
     var nextElement = $('[name="' + nextName + '"]'); 
     nextElement.val(value); 
    }); 
}); 
관련 문제