表单输入加载替换
Form input onload substitute
我有以下代码:
<input id="id_sf-0-use_incident_energy_guess"
name="sf-0-use_incident_energy_guess"
onchange="show_hide_guess(this.id);"
onload="show_hide_guess(this.id);"
type="checkbox">
问题是onload
.它在输入字段中不起作用...
我不能使用jquery $(document).ready
因为我还不知道这个表格的 id......(这是一个 Django 表单集,每个生成的表单都有不同的前缀)。
你知道我该怎么解决这个问题吗?
提前谢谢。
输入元素上没有load
事件。您可以将类添加到输入元素并使用 css 类选择器将其定位。
目录
<input id="id_sf-0-use_incident_energy_guess" class="input-energy-guess"
name="sf-0-use_incident_energy_guess"
onchange="show_hide_guess(this.id);"
type="checkbox">
Js
$(function () {
//Now you can access the input using class selector
$('.input-energy-guess').each(function () {
show_hide_guess(this.id);
});
});
如果无法添加类或修改 html,则可以使用属性 end with selector。
$(function () {
$('name$=”use_incident_energy_guess”').each(function () {
show_hide_guess(this.id);
});
});
我会使用即时函数来模拟加载事件。你可以试试这个:
<input id="id_sf-0-use_incident_energy_guess"
name="sf-0-use_incident_energy_guess"
onchange="show_hide_guess(this.id);"
type="checkbox">
<script>
function show_hide_guess(id) {
console.log("get: " + id);
// your code goes here
}
(function(show_hide_guess) {
var i, inputs = document.getElementsByTagName('input'),
len = inputs.length;
for (i=0; i<len; i++) {
var input = inputs[i],
id = input.getAttribute("id");
show_hide_guess(id);
}
})(show_hide_guess);
</script>
注意:您必须将 show_hide_guess()
方法传递给即时函数才能使其在加载和更改时工作。
相关文章:
- JavaScript 在页面加载后替换文本
- 延迟加载jquery后替换$(document).ready(function)
- JS如何在加载页面之前替换元素(awesomium c#)
- 如何替换URL的一段并重新加载页面
- 如何在页面加载时替换不在 DOM 中的文本
- JqueryUI(手风琴)效果在替换为新内容后无法加载
- 替换 jquery 加载的外部 html 文件中的文本
- 检查是否在一定时间间隔内加载了多个图像;如果没有,则替换为其他 URL
- 加载外部页面并替换文本
- 替换超链接默认操作以加载 AJAX 请求
- 触发函数加载替换模糊()
- 替换从外部 IN for 循环加载的 HTML 字符串中的字符
- 如何在加载 Web 图像(非本地)时替换/遮罩特定颜色
- 如何使用 ?parameter=only 链接重新加载页面并替换 Jquery Mobile 中的当前锚页面
- 在加载图像之前显示替换文本代替图像
- 需要在弹出窗口中显示加载 gif,然后将其替换为 ajax 内容
- 如何在加载 dd/mm/yyyy 时在文本框中显示 __/__/____ 并将 __/__/____ 替换为日期
- 重新加载/替换图像 jQuery 作为
- 中的列表项
- 替换功能内的异步加载
- 是否可以在页面加载时本地替换网站的 Javascript