我正在使用jqtransform jquery插件來改變我的表單元素的外觀和感覺。但是,我無法覆蓋文本輸入元素的寬度 - 無論我如何設置它被覆蓋的元素。有沒有任何已知的方法來覆蓋這個屬性?jqtransform - 設置文本框寬度
由於提前,
JP
我正在使用jqtransform jquery插件來改變我的表單元素的外觀和感覺。但是,我無法覆蓋文本輸入元素的寬度 - 無論我如何設置它被覆蓋的元素。有沒有任何已知的方法來覆蓋這個屬性?jqtransform - 設置文本框寬度
由於提前,
JP
好像其原因有:
div
width
在style
被硬編碼(由JS)屬性,所以在CSS中重寫此操作不起作用所以,你的情況我建議你操作使用一些jQuery的:
var myW = 300;
$("#elementId").css("width", myW);
$("#elementId").parents(".jqTransformInputWrapper").css("width", myW);
對不起恢復一個老問題,但目前的答案使得它比必要的更加複雜。
最簡單的方法是簡單地設置「尺寸」 HTML屬性的輸入元件上:
在運行時<%: Html.TextBoxFor(x=>x.SomeProperty, new{ size="4" })
然後jqTransform計算DIV寬度(從jqTransform源文件中提取):
var inputSize=$input.width();
if($input.attr('size')){
inputSize = $input.attr('size')*10;
$input.css('width',inputSize);
}
我有一個簡單的解決方案,你必須在jqtransform使用聲明之前「配置」文本輸入的大小屬性,protektor的報價是正確的,是由jquery給出的size屬性的20,它檢測到默認大小的a文字輸入並相乘10。所以basicly,如果你想在這條路上,你可以給出一個標準尺寸:
$("form input:text").attr("size", x);
$("form").jqTransform();
其中「x」是尺寸,它的一個數字,是不是像素措施,記住jQuery的計算像素乘以這個數十。如果您希望輸入文字爲400像素,那麼您必須將尺寸設置爲40,然後完成。
工作過,感謝! – 2010-11-22 14:07:46