1

我正在 Razor 布局中构建一个具有 DropDownList 和文本框的表单

在此下方,将有一个“添加另一个”链接。

单击此按钮,我需要向 div 添加另一个 DropDownList 和 TextBox 对(我们称之为#socialNetworks)

目前,我使用这样的 jQuery 来处理“普通”/一次性文本框:

    var phoneFieldsIndex = 0;

    $('#addAnotherPhoneLink').click(function () {

        if ($('#phoneFields input:last').val()) {

            phoneFieldsIndex++;

            $('#phoneFields').append('<input name="phone[' + emailFieldsIndex + ']" type="text"><br />');

        }

    });

这工作正常 - 当单击带有 addAnotherPhoneLink 的 a 元素时,另一个输入框(索引递增)被添加到 div #phoneFields

我正在尝试用我的 DropDownList / Input 对做类似的事情

但是,对于 DropDownList,我目前有:

@Html.DropDownList("SocialNetwork", new SelectList(Model.AvailableSocialNetworks))

<input name="Username" type="text" />

所以,我看到这里有两个问题:

  • 我每次都需要增加 SocialNetwork DropDownList 的索引
  • 我需要为每个复制 Model.AvailableSocialNetworks 中的值
4

1 回答 1

1

使用 jQuery 复制现有select列表之一(或使用服务器提供隐藏的列表作为模板并复制它)。

var newSelect = $('#phoneFields select:first-child').clone()
   .attr("name", 'SocialNetwork[' + emailFieldsIndex + ']');

$('#phoneFields').append(newSelect);

我假设索引将与input您同时添加的框相同?

于 2013-03-07T15:11:00.913 回答