gpt4 book ai didi

javascript - JQuery 选择动态变量

转载 作者:行者123 更新时间:2023-11-30 10:33:37 25 4
gpt4 key购买 nike

我正在尝试从复选框中选择一个动态变量以根据复选框的状态禁用或启用。HTML 代码:

<input type="checkbox" name="only_once_1" id="only_once_1" class="onlyonce" >
<input type="text" id="temp_1" name="temp_1">

JavaScript

$(".onlyonce").change(function($){
var parts = this.name.match(/(\D+)(\d+)$/);
if(this.value == "on"){
$("#"+"temp_"+parts[2]).disable()
}else{
$("#"+"temp_"+parts[2]).enable()
}
});

我的想法是,我可能有许多动态添加的这些框的副本。有什么想法可以让它发挥作用吗?

谢谢!

最佳答案

您有 3 个错误。这是工作代码:

$(".onlyonce").change(function() {  // <-- error #1: remove $ parameter
var parts = this.name.match(/(\D+)(\d+)$/);
if (this.checked) { // <-- error #2: use checked property
$("#" + "temp_" + parts[2]).prop('disabled', true) // <-- error #3: use prop method
} else {
$("#" + "temp_" + parts[2]).prop('disabled', false)
}
});

http://jsfiddle.net/XR9me/

主要问题在这里:$(".onlyonce").change(function($) {。通过将 $ 作为参数传递给 change 方法覆盖对 jQuery 的引用(在闭包内 $ 成为事件对象)。

你也可以把它写得更干净一点:

$(".onlyonce").change(function() {
var parts = this.name.match(/(\D+)(\d+)$/);
$("#temp_" + parts[2]).prop('disabled', this.checked);
});

http://jsfiddle.net/XR9me/1/

关于javascript - JQuery 选择动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com