javascript - 更改另一个输入框时启用下一个输入框的最佳方法是什么
问题描述
我有类似的东西:
<input id="1" type="text"></input>
<input id="2" type="text" disabled></input>
当我更改 id="1" 的内容时,我想启用 id="2"。我可以让它以这种格式工作,但是,我需要它在一个特定的函数中而不是一个通用的输入 onchange 事件中,因为这个页面有很多输入:
$(document).ready(function(){
$("input").change(function(){
$(this).next().prop("disabled", false); // Element(s) are now enabled.
});
});
我相信我的问题是传递“这个”信息以便能够更改下一个元素。我已经尝试了下面的代码行,但无法让它们工作。忽略我放在那里的警报,我只是想看看传递了什么信息。另外,我也传递了一个带有 onchange 事件的字符串。
$(el.id).next().prop("disabled", false);
function myFunction (str, el) {
var newId = el.id;
alert(newId);
$(newId).next().prop("disabled", false);
}
function myFunction (str, id) {
$(id).next().prop("disabled", false);
}
更新代码:
function Update(str, el){
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) {
if (xmlhttp.status==200) {
var newId = el.id;
alert(newId);
$(newId).next().prop("disabled", false);
}
else {
}
}
};
var Info = str;
var queryString = Info;
xmlhttp.open("POST","Reduced.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(queryString);
}
解决方案
请改用keyup
事件侦听器。
$(document).ready(function(){
$("input[type=text]").keyup(function(){
$(this).next().prop("disabled", false); // Element(s) are now enabled.
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text">
<input type="text" disabled>
<input type="text" disabled>
<input type="text" disabled>
<input type="text" disabled>
推荐阅读
- python - TensorFlow get_variable 进入 Pytorch
- java - java eclipse中的java.io.EOFException
- c - 有没有其他方法可以在 C 编程语言中找到矩阵的行列式
- reactjs - 当我将动态颜色值从 JSON 传递到 BarSeries 时,devextreme 条形图无法识别它们并使所有条形变黑
- swift - SWIFTUI - OberservableObject 类被设置为 nill 每次调用
- oracle - Oracle 中的 empty_clob 和 createtemporary 有什么区别?
- json - 在 circe 中解码 case 类、String 或 Int
- javascript - 代码 1 不起作用,但另一个是。第一个代码有什么问题?
- redactor - 如何在 Redactor 编辑器中更改图像路径?
- macos - 我在哪里可以找到 MacOS 中的应用程序光标文件?