2010-11-22 5 views
1

jqtransform jquery 플러그인을 사용하여 양식 요소의 모양과 느낌을 변경하고 있습니다. 그러나 텍스트 입력 요소의 너비를 재정의 할 수 없습니다. 요소를 스타일에 맞게 재정의 한 경우에도 마찬가지입니다. 이 속성을 재정의하는 알려진 방법이 있습니까?jqtransform - 텍스트 상자 폭 설정

답변

3

이 이유 같아 미리

감사

JP은 :

  1. 각 양식 요소가 div
  2. width 배치 자신있어 style에 (JS로) 하드 코딩 갖는다 CSS에서 이것을 재정의하면 작동하지 않습니다.
  3. jqtransform이 eleme를 제공하지 않습니다. NT ID가, 그래서 당신은 어떤 jQuery를 사용하여 수동으로 어떻게 든 설정하거나

그래서, 나는 당신을 건의 할 것입니다 귀하의 경우 클래스와 함께 작동 할 수 있습니다

var myW = 300; 
$("#elementId").css("width", myW); 
$("#elementId").parents(".jqTransformInputWrapper").css("width", myW); 
+0

감사합니다. –

5

오래된 질문을 부활 죄송하지만, 현재의 대답은 그것을 필요 이상으로 복잡하게 만듭니다.

가장 쉬운 방법은 단순히 입력 요소의 '크기'HTML 속성을 설정하는 것입니다 :

var inputSize=$input.width(); 
if($input.attr('size')){ 
     inputSize = $input.attr('size')*10; 
     $input.css('width',inputSize); 
} 
: jqTransform은 (jqTransform 소스 파일에서 추출) 사업부의 폭을 계산하고 그 다음
<%: Html.TextBoxFor(x=>x.SomeProperty, new{ size="4" }) 

런타임에

+0

큰 해결! – mrGott

+0

이것은 최신 버전에서 작동하지 않는 것 같아요. 그렇지 않으면 div보다 콘텐츠를 넓힐 때만 작동합니다. 나는 아주 긴 내용을 가지고있는 드롭 다운을 가지고 있고 더 작은 너비로 크기를 설정하는 것은 방화 ug이 select가 size에 대한 속성 값을 가지고 있음을 보여 주더라도 그것이 어떻게 렌더링되는지에 영향을 미치지 않는다. – Levitikon

+0

JQTransform은 텍스트 상자에 대해 위의 코드 청크만을 사용합니다. 선택 목록 (및/또는 다른 입력 유형)에서 작동 시키려면 JQTransform 소스 코드의 다른 섹션에 코드 블록을 복제해야합니다. – geoffreys

0

나는 쉬운 솔루션을 가지고 있는데, jqtransform 사용 선언 바로 전에 텍스트 입력의 크기 속성을 "구성"해야합니다. protektor의 견적이 맞습니다. 크기 속성 20 개가 jquery에 의해 주어진다면, 기본 크기 인 텍스트 입력 및 곱하기 ,

"x"는 크기의 숫자입니다
$("form input:text").attr("size", x); 
$("form").jqTransform(); 

, 픽셀 측정하지 JQuery와 픽셀에 의해이 수를 곱하여 계산 기억 : (10)에 의해 그래서 basicly 당신은 당신이이 방법에 원하는 경우 표준 크기를 제공 할 수 있습니다 십. 입력 텍스트에 400px를 원하면 40으로 크기를 설정해야합니다.

관련 문제