2012-11-05 5 views
2

이 고려 동적으로 생성 된 입력에인가되지 : 인라인 스타일

$("#scanInDialogItems tr td:nth-child(3)").mouseenter(function() { 
    var q = $(this).html(); 
    $(this).html("<input type='number' style='text-align:right width:50px' min='1' value='" + q + "'/>"); 
    }).mouseleave(function() { 
    var q = $(this).find("input").val(); 
    $(this).html(q); 
    }); 

사용자 내 표의 세번째 열의 셀을 가리킬 때마다

이 콘텐츠는 입력 요소로 대체된다. 매력처럼 작동합니다.

이 요소의 인라인 스타일이 제대로 적용되지 않는 것이 문제입니다. 예 : 상자 안의 텍스트는 왼쪽 정렬 - 기본값. 또한 너비가 설정되지 않습니다. 만들 때 동적으로 입력 요소를 만들어 이전 질문에서 읽을

는 새로 고칠 필요가 :

 $(this).find("input").textinput('refresh'); 

그리고 나이 :

Styles not getting applied properly in dynamically created radio buttons

그래서 나는이를 추가하는 시도

 $(this).find("input").textinput(); 

그러나 둘 중 어느 것도 작동하지 않습니다. 내 타겟 플랫폼이 최신 크롬입니다.

입력을 제대로 새로 고치지 않았습니까? 아니면 다른 문제가 있습니까? 당신은 인라인 스타일의 텍스트 정렬과 폭 사이에 세미콜론을 놓친

+0

나는 링크가 jQuery 모바일에만 적용된다고 생각한다. 어쨌든,'input' 클래스에 클래스를 부여한 다음 그 클래스에 CSS로 스타일을 정의 할 수 있습니까? 'min' 속성이 입력하려고하면 작동합니까? '-23'을 타이핑 할 때처럼 페이지에 에러가 표시됩니까? – Ian

+0

답변보다는 대답하지만 도움이 될 것입니다 ... 새 마크 업과 함께 인라인 스타일을 추가해야합니까? 대신 이전 CSS에서 예상 할 수 있습니까? –

+0

나는 인라인 대신 CSS에 스타일을 넣는 것이 더 낫다는 것에 동의한다. 그러나 인라인은 개발하는 동안 더 쉽습니다. 나는 모든 일이 끝나면 .css에서 스타일을 만드는 패스를 사용합니다. –

답변

3

...

$("#scanInDialogItems tr td:nth-child(3)").mouseenter(function() { 
    var q = $(this).html(); 
    $(this).html("<input type='number' style='text-align:right;width:50px' min='1' value='" + q + "'/>"); 
}).mouseleave(function() { 
    var q = $(this).find("input").val(); 
    $(this).html(q); 
}); 

난 그냥 jsfiddle에서 후 & 전에 시도하고 그것으로 잘못 모든 :)

입니다
+0

죄송합니다. 나는 그것이 단순히 오타 였다고 생각한다. 감사. 세미콜론을 추가하면 그것을 수정했습니다. –

+0

일단 발견하면 항상 쉽습니다;) – Archer

관련 문제