2013-12-09 2 views
0
function limitofTags(){ 

    var tags = $('div').find('.tag').map(function(){ 
     return $(this).text(); 
    }).get(); 

    var elem = []; 
    for (var i = 0; i < tags.length; ++i){ 
     //store array elements 
     elem.push(tags[i]); 

     if(elem.length < 2){ 
      $("#tags").prop('disabled',false); 

     } 
     else{ 
      $("#tags").prop('disabled',true); 

     } 
    } 
} 

버튼은 작은 div입니다. 입력 텍스트 필드에 태그를 입력하면 div 영역에 태그가 추가됩니다. 태그가 2 개를 초과하면 더 많은 태그가 추가되지 않도록 입력 텍스트 필드가 비활성화됩니다. 양식을 제출 한 후 div는 동일한 수의 태그를 표시했지만 입력 텍스트 필드는 사용 중지되지 않습니다. 그렇다면 태그에서 div가 2보다 많으면 입력 텍스트 필드를 사용하지 않도록 설정하는 방법은 무엇입니까?제출 및 개수 배열 요소 뒤에 입력 사용 안 함

통찰력이나 도움 감사. 나는 온라인 답변을 찾고 있었지만 제출 후 입력 텍스트 비활성화가 필요한 것을 찾지 못하는 것 같습니다. 배열이 채워 후

답변

1

당신은 아마 길이를 확인해야합니다, 당신은 정확하게 당신이 가지고있는 tags 배열과 같은 인 elem 배열을 만드는 :

function limitofTags(){ 
    var tags = $('div').find('.tag').map(function(){ 
     return $(this).text(); 
    }).get(); 

    $("#tags").prop('disabled', tags.length >= 2); 
} 
+0

오 내가 참조. 그것은 더 쉽습니다. 하지만 여전히 페이지를 생성 할 때 태그를 추가했을 때 편집 페이지에서 제출 후 입력이 비활성화 된 것으로 나타났습니다. 입력이 비활성화 된 상태로 남아 있지 않습니다. 하나 이상의 태그를 추가하면 태그가 비활성화되고 태그가 2 개가 아닌 3 개의 태그가됩니다. 왜? – kittymeows

+0

제출 후 페이지가 다시로드되고 상태 개념이 없으므로 javascript로 설정 또는 완료된 모든 내용이 손실됩니다. 새 페이지로드시 다시 시작됩니다. – adeneo

+0

제출 한 후에 사용 중지 된 상태를 유지할 수있는 방법이 있습니까? – kittymeows