我目前正在使用http://jsfiddle.net/NvynC/663/处找到的代码,除了一件事情外,它的效果很好......
此代码触发小提琴中显示的resizeInput()
函数...
$('input[type="text"]')
// event handler
.keyup(resizeInput)
// resize on page load
.each(resizeInput);
它会在页面首次加载时触发它,并在每个“keyup”上再次触发,但我添加了一些额外的代码,根据其他字段中更改的值更新各种文本字段。我很困惑,在我需要时,在给定时间调整所有字段的代码是什么。
以下代码不是我正在使用的代码,而是简单的事情,如果你能告诉我如果我以下面的方式调用它将使用什么代码,我将能够弄清楚如何将它放入我的实际代码......
function resize_fields()
{
// WHAT CODE GOES HERE ????
}
resize_fields();
更新,让您更好地了解我在做什么......
这是我用的代码...... 以我的形式......
<select name="user" id="user" onchange=update_user_fields(this.value)>
<option></option>
...脚本
<script>
function update_user_fields(id)
{
user[id]();
}
user[<?php echo $user->ID; ?>] = function()
{
// I do a bunch of field value changes here and they work perfectly
// ///////
// What I do not know is how to call the resizeInput function referred to in the fiddle above
// ///////
}
</script>
我尝试将以下代码放在我错过代码的上一节中,但它不起作用!
jQuery(function($) {
$('input[type="text"]')
// resize all
.each(resizeInput);
});
事实证明我有一个厚厚的头骨......毕竟下面的答案是正确的..这是工作代码......
<select name="user" id="user" onchange=update_user_fields(this.value)>
<option></option>
...脚本
<script>
function update_user_fields(id)
{
user[id]();
}
user[<?php echo $user->ID; ?>] = function()
{
// I do a bunch of field value changes here and they work perfectly
// ///////
jQuery(function($) {
$('input[type="text"]').keyup();
});
// ///////
}
</script>
答案 0 :(得分:2)
不是100%清除,但似乎您希望能够以编程方式更改值并同时调用resize方法。
要执行此操作,您只需在更改值后触发使用处理程序的事件。
示例:
$('#someInput').val('some new string').keyup();
或者一次完成所有这些:
$('input[type="text"]').keyup();
这与做:
相同$('input[type="text"]').trigger('keyup');