根据下拉选择填写2个输入

时间:2013-01-07 21:45:25

标签: javascript html

我希望根据下拉列表的选择填写2个字段。这是我现在使用的代码(在我的情况下可以工作但不起作用):

<script type="text/javascript">
function updateinput(){
var e = document.getElementById("event");
var catSelected = e.options[e.selectedIndex].value;

document.getElementById("minLvl").value=catSelected;
}
</script>

和相关的HTML:

<table>
    <tr>
        <td>Event:</td>
        <td>
          <select name="Event" id="event" onChange="updateinput();">
            <option value="option1">option1</option>
            <option value="option2">option2</option>
            <option value="option3">option3</option>
            <option value="option4">option4</option>
            <option value="option5">option5</option>
            <option value="option6">option6</option>
            <option value="option7">option7</option>
          </select>
</td>
    </tr>
    <tr>
        <td>Starting Time:</td>
        <td><input type="text" name="dateTime"/></td>
    </tr>
    <tr>
        <td>Level Range:</td>
        <td><input type="text" size="3" maxlength="3" id="minLvl"> - <input type="text" size="3" maxlength="3" id="maxLvl"></td>
    </tr>
    <tr>
        <td>Notes:</td>
        <td><textarea></textarea></td>
    </tr>
    <tr>
        <td>Create Event:</td>
        <td><input type="button" value="Create event!"></td>
    </tr>
</table>

我知道我可以使用e.options[e.selectedIndex].text来获取文本并将其放在输入中,但有没有办法可以为每个选项添加属性,使其像<option value="option1" minLvl="1" maxLvl="10">Option1</option>一样,然后从中提取数据minLvlmaxLvl然后将值填充到输入中?

2 个答案:

答案 0 :(得分:0)

function updateinput(){
var e = document.getElementById("event");
var catSelected = this.value;

document.getElementById("minLvl").value=catSelected;
}

<select name="Event" id="event" onChange="updateinput(this);">

答案 1 :(得分:0)

我能够使用此代码:

<script type="text/javascript">
function updateinput(){
var e = document.getElementById("event");
var minLvl = e.options[e.selectedIndex].getAttribute("minLvl");
var maxLvl = e.options[e.selectedIndex].getAttribute("maxLvl");

document.getElementById("minLvl").value=minLvl;
document.getElementById("maxLvl").value=maxLvl;
}
</script>

<option value="option" minLvl="1" maxLvl="3">option</option>