如何使用JavaScript在ASP中使用下拉列表的值填充TextArea



我正在使用c#和SQL Server 2005开发一个asp.net MVC 3应用程序。

我也使用实体框架和代码第一方法。

在视图中,我有一个下拉列表,一个按钮和一个TextArea。

当我点击按钮时如何用下拉列表的值填充面板

我尝试使用javascript,但我认为这是不工作的,因为当我点击按钮,什么都没有发生

这是代码:

<%:Html.Label("Poste Suivant :")%><%: Html.DropDownListFor(model => model.PosteSuivantSelected, Model.PostesItems, new { @id = "dd" })%>
<input type="button" value="Ajouter" id="add"  onclick="addtext()"/>
<textarea ID="ta" cols="10" name="S1" rows="2" ></textarea>
<script language="javascript" type="text/javascript">
        function addtext() {
            var dd = document.getElementById('dd');
            var ta = document.getElementById('ta');
            var add = document.getElementById('add');
            if (add.onkeypress) {
                ta.value = dd.selectedvalue;
            }
        }
</script>

只要你的。net代码是呈现一个选择列表像下面的问题只是在你的javascript。您需要使用选定的索引来获得该选项。我也不确定你为什么要检查他们是否在添加上存在按键功能。

<select id="dd"><option>a</option><option>b</option></select>
<input type="button" value="Ajouter" id="add"  onclick="addtext()"/>
<textarea ID="ta" cols="10" name="S1" rows="2" ></textarea>
<script language="javascript" type="text/javascript">
        function addtext() {
            var dd = document.getElementById('dd');
            var ta = document.getElementById('ta');
            var add = document.getElementById('add');
            //if (add.onkeypress) {
                ta.value = dd.options[dd.selectedIndex].value;
            //}
        }
</script>

如果你想从选择菜单中添加选项而不是替换,那么你的函数应该是这样的:

        function addtext() {
            var dd = document.getElementById('dd');
            var ta = document.getElementById('ta');
            var add = document.getElementById('add');
            //if (add.onkeypress) {
                ta.value = ta.value + dd.options[dd.selectedIndex].value;
            //}
        }

如果你只需要文本区域中的项目一次,我会将选中的值存储在一个数组中,然后用数组的连接值替换该值。

<script language="javascript" type="text/javascript">
        var storedValues = [];
        function addtext() {
            var dd = document.getElementById('dd');
            var ta = document.getElementById('ta');
            var add = document.getElementById('add');
            //if (add.onkeypress) {
            var selectedValue = dd.options[dd.selectedIndex].value;
            if(storedValues.indexOf(selectedValue) === -1){
                storedValues.push(selectedValue)
                ta.value = storedValues.join('')
            }
            //}
        }
</script>

use this:

ta.innerText = dd.options[dd.selectedIndex].innerText;

最新更新