Используя 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>
).