2012-12-30 62 views
0

我有下拉菜單,我從中選擇一個項目,然後通過使用onblur事件,我可以將匹配詳細信息發佈到輸入文本框中。每當我從下拉菜單中選擇,匹配的細節都應該發佈到輸入文本框中。在我的例子中,我將選擇一個特定的行業領域,相關的問題應該出現在question1和question2輸入文本框中。示例如下:使用Webmatrix,下拉菜單將匹配的數據發佈到文本框中

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

回答

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塊內語句來測試。

在我看來,一個更好的解決方案是使用onchange代替onblur事件添加一個虛擬選項下拉(像<option value="-1">--- Please select ---</option>)。

相關問題