2013-07-30 3 views
0

를 작동하려면 다음 checkboxesH.change 기능에자바 스크립트 : 함수에서 변수를 전달하는 것은 내가 자바 스크립트에 새로 온 사람과 내가 문제 함수에 함수에서 변수를 전달해야

$(document).ready(function() { 
    $('input[type=checkbox]:checked').removeAttr('checked'); 
    var filename = document.getElementById("Tagg").value; 
    var checkboxesH = $('input[type="checkbox"][name="tags[]"]'); 

    checkboxesH.change(function() { 

     $('input[type="text"][name="tags"]').val(filename); 
     var current = checkboxesH.filter(':checked').length; 
    }); 
}); 

를, 파일 이름은 항상 null입니다! 왜? 페이지가 열리면 텍스트 필드 태그에 문자열이 있습니다. 감사합니다.

+0

콘솔에 오류가 있습니까? 입력에'id = 'Tagg'가 있습니까? 준비 기능에서 console.log (filename)은 무엇을 인쇄합니까? –

+3

작동해야합니다. 더 많은 정보를 제공해야합니다. 지금 당장의 조언 : jQuery를 사용한다면 jQuery에 충실하십시오. 대신'$ ("Tagg"). val()'을 사용하십시오. – MaxArt

+0

어떤 종류의 요소는''Tagg ''입니까? 자사의 HTML을 보여주십시오. – nnnnnn

답변

0

자바 스크립트는 함수 생성시 변수의 값을 전달합니다. 이 문제를 해결하려면 .change() 함수에서

document.getElementById("Tagg")).value 

으로 직접 호출해야합니다. 이 방법은 변경 이벤트 핸들러가 생성 된 시점이 아니라 변경 시점의 상태를 반영합니다.

+0

네,하지만 변수의 초기 값이 필요하고 change() 함수가 호출 될 때마다 사용하는 것이 좋습니다. 간단해야합니다. 페이지가로드 될 때 텍스트 필드의 값으로 vari에 저장하려고합니다.() 함수에서 사용할 수 있습니다. – caj

관련 문제