我有二维数组,例如var TZa = new Array("Pacific/Wallis;WFT-12", "Pacific/Wallis;WFT-12")
第一个值放入<select id="stzone"><option></option></select>
,
第二个值(分号后)放在<input type="text" id="timezone" >
正常工作的旧代码如下:
function SelChng() {
Sel = document.getElementById("stzone");
Inpt = document.getElementById("timezone");
Inpt.disabled = !(Sel.value == "extended");
Inpt.value = TZa[Sel.selectedIndex];
}
新代码如下:
$(document).ready(function() {
var input = $("#timezone").attr("disabled", true);
$("#stzone").on("change", function() {
if ($(this).val() == "extended") {
input.attr("disabled", false);
} else {
input.attr("disabled", true);
}
input.val() = TZa[(this).selectedIndex];
});
});
并且不要根据数组更改input type="text"
的值。
请给我一些想法来修复我的代码?
答案 0 :(得分:0)
你说的是“第一价值”和“第二价值”,那么使用它吗?
var TZa = [
{ area: "Pacific", location: "Wallis", wft: -12 },
{ area: "Pacific", location: "Wallis", wft: -12 }
];
然后走你的TZa阵列:
function buildMyData(data, index) {
// build new HTML elements with data.area, data.location and data.wft
}
TZa.forEach(buildMyData);
这不是一个直接的答案,但它会使你正在做的任何事情(而你的问题很清楚)是什么,更容易。
答案 1 :(得分:0)
为了使第二段代码像第一段代码一样工作,我认为你的问题是jQuery:
input.val() = TZa[(this).selectedIndex];
看起来应该是:
input.val(TZa[this.selectedIndex]);
了解如何在jQuery处使用val()
设置值。