0

我有下拉菜单,我从中选择一项,然后通过使用 onblur 事件,我可以将匹配详细信息发布到输入文本框中。每当我从下拉菜单中选择时,匹配的详细信息应发布到输入文本框中。在我的示例中,我将选择一个特定的行业领域,相关问题应出现在 question1 和 question2 输入文本框中。示例如下:

 var db = Database.Open("me");
 var ind = Request["areagroup"];
 var sqlq = "SELECT id,indName,question1,question2 from Industry where id = @0";
 var data = db.Query(sqlq,ind);



 <select name="areagroup"  onblur="???? ">
    <option value="0">General</option>
    <option value="1">Services</option>
    <option value="2">Basic Materials</option>
 </select>


 <label>Question 1</label><input type="text" name="q1"  />
 <br/>
 <label>Question 2</label><input type="text" name="q2" />
4

1 回答 1

0

我不确定你的目标。

当下拉菜单失去焦点时,下面的代码会填充输入字段:

@{
    var question1 = "";
    var question2 = "";

    if (IsPost)
    {
        if(Request["butt"] != "test"){
            var db = Database.Open("me");
            var ind = Request["areagroup"];
            var sqlq = "SELECT id,indName,question1,question2 from Industry where id = @0";
            var data = db.Query(sqlq,ind);
            question1 = data.question1;
            question2 = data.question2;
        } else {
            // If submit button is pressed
        }
    }
}

<form method="post">
    <select name="areagroup"  onblur="this.form.submit()">
        <option value="0">General</option>
        <option value="1">Services</option>
        <option value="2">Basic Materials</option>
    </select>
    <br/ >
    <label>Question 1</label><input type="text" name="q1" value="@question1"  />
    <br/>
    <label>Question 2</label><input type="text" name="q2" value="@question2" />
    <br/>
    <input type="submit" name="butt" value="test" />
</form>

我在 IsPost 块内提供了一个提交按钮和一个 if 语句来测试表单是否由用户提交。

在我看来,更好的解决方案是使用onchange而不是onblur事件向下拉列表添加一个虚拟选项(类似于<option value="-1">--- Please select ---</option>)。

于 2012-12-31T14:58:49.953 回答