我一直无法使用jquery $(window).resize(function(){})更新input type = text或texbox控件文本值的值。我知道事件会触发,因为当我调整浏览器大小时会出现一个警告。我也在使用其他功能。
目前看起来像这样:
$(window).resize(function(){
if($(window).width()>1080){
var innerwidth = $(window).width()-170;
$("#div1").width(innerwidth);
}
我想补充一点:
$(window).resize(function(){
if($(window).height()>500){
var innerheight = $(window).height();
$('input.hiddentest').val(innerheight);
}
我知道问题在于:
$('input.hiddentest').val(innerheight);
我也试过这个:
$('#texttest.ClientID').text(innerheight);
这是我正在使用的输入和下面的文本框(请注意,该类型曾被隐藏,但我认为这不会产生问题,我希望它可用于调试目的)
<input id="hiddentest" type="text" visible="true" name="hiddentest" onclick="test();" runat="server" value="1000" />
<asp:TextBox id="texttest" Visible="true" runat="server" Text="1000" />
总的来说,我一直在寻找一种方法来动态更新值,因为页面会根据页面大小调整大小。我的geuss是我没有使用正确的东西来识别id。感谢您花时间查看此内容以及任何回复。
P.S。我也对使用javascript函数的想法持开放态度,但我似乎甚至无法为resize事件触发函数,因此需要更多帮助。 这就是我到目前为止所做的:
window.onresize=Test();
function Test(){
var hdnfld= document.getElementById("texttest");
var testing = window.innerWidth;
alert(testing);
hdnfld.text= testing;
}
答案 0 :(得分:1)
仅使用不带点的元素ID(实际上代表您没有的类)。
所以使用
$('#hiddentest').val(innerheight)
和
$('#texttest').val(innerheight)
请注意,asp:TextBox
呈现为inptut type="text"
,因此您仍然必须使用.val()
,而不是.text()
答案 1 :(得分:1)
隐藏文本框ID为“hiddentest”,因此代码为
$('#hiddentest').val(innerheight);
答案 2 :(得分:1)
hiddentest
是id
,而不是您的class
尝试,
$(window).resize(function(){
if($(window).height()>500){
var innerheight = $(window).height();
$('#hiddentest').val(innerheight);
}
});
答案 3 :(得分:1)
<asp:TextBox id="texttest" Visible="true" runat="server" Text="1000" />
对于上面的asp.net文本框控件,ID在呈现时会动态更改(前缀为主页和页面信息),id类似于main_ctrl100_texttest
var hdnfld= document.getElementById("texttest");
,所以这不再适用。改为使用一个类。
<asp:TextBox id="texttest" Visible="true" runat="server" CssClass="texttest" Text="1000" />
var hdnfld = document.getElementsByClassName("texttest");
如果您需要有关如何使用jquery see here.
访问.net控件的更多信息