2013-01-25 43 views
1

我有下拉列表文本框下拉列表和文本框文本不匹配

我正在從下拉列表中選擇一個項目,並在選擇時從下拉列表中選擇的文本顯示在文本框中。

我在這裏面臨的一個問題如下:

一個填充在下拉列表的文本是:

SUNROOF, POWER, TILT-SLIDING, ELECTRIC with express-open and wind deflector -Includes (CJ2) Air conditioning, dual-zone, automatic. -Includes (ZM9) Universal Transmitter) 

但是,當這個被選中,在文本框中顯示的相同的文本,該文本將成爲如下所示..即失去一個空間,這是一個問題。

SUNROOF, POWER, TILT-SLIDING, ELECTRIC with express-open and wind deflector -Includes (CJ2) Air conditioning, dual-zone, automatic. -Includes (ZM9) Universal Transmitter) 

注: 「自動[2太空這裏] - 包括」 下拉列表中並且在文本框 「自動[1個空間這裏] - 包括」。即少一個空間。

文本被裝載到放置downlist象下面這樣:

ddlEngine.Items.Add(new ListItem(Engine[i][0], Engine[i][1])); 

這裏引擎[I] [0] = TEXT

引擎[I] [1] =用於DIFF目的整數值..

而且在下拉列表值的變化...文本複製到文本框,如下:

document.getElementById("engineText").value = document.getElementById("ddlEngine").options[document.getElementById("ddlEngine").selectedIndex].text; 

我需要這些值都是相同的。 任何想法爲什麼會發生這樣的事情?我怎麼能得到這種行爲。

+0

你爲什麼要試圖填充一個下拉列表中有那麼多的文字,開始與詹姆斯..? – MethodMan

+0

好吧,那麼有道理..所以在下拉列表中填入值的位置或方式..?你有權訪問代碼,也許你可以展示它是如何被加載的。 – MethodMan

+0

@DJKRAZE ..請參閱編輯一次..我已經添加了所需的代碼..謝謝 – James

回答

0

我剛剛試了一下在這之後的代碼隱藏:

ddl1.Items.Add("12  34") 

文本在頁面上的下拉列表出現了「12 34」。

如果可行,可以在將字符串添加到下拉列表之前將所有多個空格轉換爲單個空格。

另一種方法是使用ddlEngine.SelectedIndex複製原來,像這樣:

TextBox1.Text = Engine[ddlEngine.SelectedIndex][0] 
+0

當然,我將不得不爲你提出的方法去...是否沒有其他方式來解決這個問題? – James

+0

也許你可以使用ddlEngine.SelectedIndex來複制原始文件?像'textbox.text = Engine [ddlEngine.SelectedIndex] [0]'(我編輯了答案以更好地展示此內容)。 – xpda

0

只想確認兩個控件是否都是asp.net控件?

我剛剛複製你的代碼並執行。它對我來說工作得很好。

<asp:DropDownList ID="DropDownList1" runat="server" Width="1108px" AutoPostBack="True" 
      onchange="changeCursor()" Height="26px"> 
    <asp:ListItem>SUNROOF, POWER, TILT-SLIDING, ELECTRIC with express-open and wind deflector -Includes (CJ2) Air conditioning, dual-zone, automatic. -Includes (ZM9) Universal Transmitter)</asp:ListItem> 
    <asp:ListItem>select</asp:ListItem> 
</asp:DropDownList> 

<asp:TextBox ID="TextBox1" runat="server" Width="1103px"></asp:TextBox> 

以下是JavaScript函數來顯示選定的值 -

<script language="javascript" type="text/javascript"> 
    function changeCursor() { 
     document.getElementById("TextBox1").value = document.getElementById("DropDownList1").options[document.getElementById("DropDownList1").selectedIndex].text; 
    } 
</script> 

您使用的是同樣的方式????

+0

下拉列表'' Text box '' – James

+0

是的..它是同樣的方式..但是當文本被加載到文本框中時,我得到一個空格... – James

+0

你在哪裏寫document.getElementById(」engineText「)。value = 。的document.getElementById( 「ddlEngine」)選項[的document.getElementById( 「ddlEngine」)的selectedIndex。]的.text; –