Используя Webmatrix, выпадающее меню, чтобы разместить сопоставленные данные в текстовое поле

У меня есть раскрывающееся меню, в котором я выбираю один элемент, а затем, используя событие onblur, могу опубликовать данные о совпадении в текстовое поле ввода. всякий раз, когда я выбираю из выпадающего меню, соответствующие детали должны быть размещены в поле ввода. В моем примере я выберу определенную отраслевую область, и соответствующие вопросы должны появиться в текстовом поле ввода вопрос 1 и вопрос 2. Пример ниже:

 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" />

1 ответ

Я не уверен в вашей цели.

Следующий код заполняет поля ввода, когда выпадающий список теряет фокус:

@{
    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>

Я предоставил кнопку отправки и оператор if внутри блока IsPost, чтобы проверить, отправлена ​​ли форма пользователем.

На мой взгляд, лучшим решением является использование onchange вместо onblur добавление фиктивной опции в выпадающий список (что-то вроде <option value="-1">--- Please select ---</option>).

Другие вопросы по тегам