如何修改selectedIndex

时间:2014-08-01 05:14:40

标签: javascript jquery

我有二维数组,例如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"的值。

请给我一些想法来修复我的代码?

2 个答案:

答案 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()设置值。