2011-10-02 2 views
1

새 입력을 추가하고 다음 입력을 확인한 후 의 값이없는 버튼을 클릭했을 때 문제가 생겼습니다. 어떻게 고칠 수 있니? 그것은 아주 혼란이지만, 그것은 잘 작동하고새 입력 추가 : 확인란 및 값이 없음

$clone.find('input').val('').prop('checked', false); 

:

DEMO는 : http://jsfiddle.net/G4QRp/

$(function() { 
    $('a.add_input').live('click', function (event) { 
     event.preventDefault(); 
     var $class = '.' + $(this).closest('div.find_input').find('div').attr('class').split(" ")[0]; 
     var size_un = $($class).length; 
     var $this = $(this), 
      $div = $this.closest($class), 
      $clone = $div.clone().hide().insertAfter($div).fadeIn('slow'); 
     $clone.find('.adda').not(':has(.remove_input)').append('<div class="mediumCell"><a href="" class="remove_input"></a></div>'); 
     $clone.find('input').val('').prop('checked', false); 
     $this.remove(); 
     var size_un = $($class).length---1; 
     $($class + ':last input:checkbox').prop('name', 'checkbox_units[' + size_un + '][]'); 
     console.log($($class + ':last input:checkbox').prop('name')); 
    }); 
}); 
+1

예상되는 동작이 아직 명확하지 않습니다. –

+1

코드를 단순화하여 실제 문제를 정확히 찾아 낼 수 있습니까? – David

+0

영어로 문제를 설명하는 데 문제가 있다면 – XGreen

답변

0

코드는 항상 추가 모든 체크 박스의 값을 지 웁니다. 경고는 체크 된 체크 박스를 올바르게 보여 주지만 코드가 값을 각각 ''로 설정했기 때문에 비어 있습니다. 다음과 같이 변경하면 :

$clone.find('input').prop('checked', false); 

원래의 확인란과 동일한 값을 표시합니다.

"add_units"클래스 이름과 같은 것을 저장하기 위해 "class"문자열 대신 "data-"속성을 사용하는 것이 좋습니다.

관련 문제