2010-07-29 3 views
0

웹 응용 프로그램에서 확인란을 선택하면 위에있는 텍스트 상자가 채워집니다. (두 개 이상의 확인란을 선택한 경우 해당 값은 쉼표로 구분 된 텍스트 상자에 나타납니다) .자바 스크립트 - 확인란이있는 텍스트 상자 채우기

이러한 체크 박스는 HTML 테이블에 행으로 표시됩니다.

내 HTML 코드는 다음과 같습니다.

function updateTextArea(rCount) { 
    var allVals = new Array();   
    $("#contactInfo input['commentText' + rCount]:checked").each(function() { 
     (allVals).push($(this).val()); 
    }); 

    $("#newContactComment" + rCount).val(allVals); 
} 

상기 함수의 rCount 변수 내 테이블의 행 번호이다 : 다음

<input type="text" id="newContactComment<%=rCount %>" name="newContactComment" size="45"> 

<input type="checkbox" id="commentText<%=rCount %>" name="commentText" value="<%=c.getComment_text() %>" 
     onclick="javascript:updateTextArea(<%=rCount%>);"> 

은 및 상응하는 JS 함수이다. 위 내용을 사용하여 예상되는 동작을 얻지 못했습니다 ..
예를 들어. 내 테이블의 1 행에 대해 chkbox 1과 2를 확인하면 해당 확인란의 값이 올바르게 채워집니다. 자, 내 테이블의 2에 대해, 나는 chkbox 3 만 체크합니다. 기대했던대로 값 1,2와 3 그리고 3뿐만 아니라 값으로 채워집니다.

도움이 될 것입니다.

답변

0

jQuery를 사용하여 인라인으로 설정하는 대신 이벤트 처리기를 설정하는 것이 좋습니다.

onchange 이벤트가 아니라 onchange 이벤트를 사용하려고합니다.

당신이 체크 박스에 (또는 당신이 원하는 무엇이든) 확인란의 클래스 이름을 추가하는 경우 다음이 작동합니다 : 나는이 라인을 따라이 또는 뭔가를 생각

$("input.checkboxes").change(function(){ //when checkbox is ticked or unticked 


    var par = $(this).closest("tr")[0]; 
    var parID = par.id; 
    var patt1=/([0-9]+)$/g; 
    var rCount = parID.match(patt1); //Gets number off end of id 

    var allVals = new Array(); 

    //Get all checkboxes in current row that are checked   
    $(par).find("td input.checkboxes:checked").each(function() { 
     allVals.push($(this).val()); 
    }); 

    $("#newContactComment" + rCount).val(allVals); 

    allVals = null; //empty array as not needed 

}); 

을 당신은 내가 노력

+0

@ TmEllis : 이봐, 답장을 보내 주셔서 감사합니다. 하지만 위의 코드를 사용하면 Firebug에서 'parID is undefined'오류 메시지가 표시됩니다. – Pritish

+0

업데이트 됨. 시도해 봐. 당신이 rCount의 값을 변경함에 따라 –

+0

음,이 코드는 내가 allVals을 인쇄 시도는 꽤 checkboxes.But 위의 텍스트 상자에 기록되지 않은, $("#newContactComment" + rCount).val(allVals); 즉, 2 마지막 줄까지 좋아 보인다() 배열, 배열에서 올바른 값을 볼 수 있습니다. $ ("# newContactComment"+ parID) .val (allVals)로 변경해야합니까? 대신 ?? – Pritish

0

따옴표 붙은 문자열 내에서 rCount 변수를 사용하려고합니다. 대신 다음을 시도하십시오 :

+0

원하는 것을 할 것입니다 이,하지만 여전히 원하는 출력을 얻을 수 있다고 생각하지 않습니다. – Pritish

관련 문제