我正在尝试将按键和表单值更改绑定到更新功能,以便最终用户可以实时查看其更新的效果。由于某种原因,它根本没有射击。
HTML
<fieldset class="IOPS-field">
<legend>IOPS/Bandwidth</legend>
<table>
<tr>
<td>
<input type="radio" name="bandwidth" value="IOPS-block" checked>IOPS at Block Size:
</td>
<td>
<input type="text" name="IOPS" id="IOPS" value="500000" size="3"> at
<select id="block-size">
<option value="4096" selected>4K</option>
<option value="8192">8K</option>
<option value="16384">16K</option>
<option value="32786">32K</option>
<option value="65536">64K</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="radio" name="bandwidth" value="pure-bandwidth">Bandwidth (GBps):
</td>
<td>
<input type="text" name="bandwidth-entry" value="1953.125" id="bw" size="6">
</td>
</tr>
</table>
</fieldset>
的jQuery / JavaScript的
function iops_bw_update(toUpdate) {
var iops = parseInt($("#IOPS").val());
var block = parseInt($("#block-size").val());
var bw = parseFloat($("#bw").val());
if (toUpdate == "BW") {
$("#bw").val((iops*block)/1048576);
}
else {
$("#IOPS").val((bw*1048576)/block);
}
}
$(document).ready(function(){
$("#IOPS").bind("keypress", iops_bw_update("BW"));
$("#bw").bind("keypress", iops_bw_update("IOPS"));
$("#block-size").bind("change", iops_bw_update("BW"));
});
答案 0 :(得分:1)
您需要传递函数ref而不是传递函数的值。
config/puma/production.rb
使用params绑定处理程序的正确方法是:
$("#IOPS").bind("keypress", your_function); // note: no () when no params need to be passed!
答案 1 :(得分:0)
您尚未绑定任何功能。你已经打电话了。
尝试这样:
$(document).ready(function(){
$("#IOPS").bind("keypress", iops_bw_update);
$("#bw").bind("keypress", iops_bw_update);
$("#block-size").bind("change", iops_bw_update);
});
答案 2 :(得分:0)
在javascript()中意味着调用该函数。如果要绑定函数,则必须只放置函数名称,如下所示:
$(document).ready(function(){
$("#IOPS").keypress(iops_bw_update);
$("#bw").keypress(iops_bw_update);
$("#block-size").change(iops_bw_update);
});
您不需要将完整的功能放入绑定中。只有没有()的名称。