1
resposta

Como passar vários valores pelo mesmo select

Olá pessoal. Estou com um projeto em que é preciso várias pessoas assinarem digitalmente, tenho dois selects, um passa o nome da pessoa que vai assinar e o outro passa o tipo de assinatura. Não consigo utilizar esses selects para adicionar vários assinantes usando a mesma select.

 <label>Selecione um signatário*</label>
                                    <select id="asign" nome="Signatario" class="form-control form-control-lg input-width">
                                        @foreach (var items in ViewBag.NomeResp)
                                        {

                                            <option value="@items.IdResponsavel">@items.NomeResp</option>
                                        }

                                    </select>

                                </div>
                                <div class="col-sm-3">
                                    <label>Selecione o tipo de assinatura*</label>
                                    <select id="astipo" name="TipoAsign" class="form-control form-control-lg input-width">
                                        @foreach (var items in ViewBag.NomeTipoAsign)
                                        {

                                            <option value="@items.IdTipoAsign">@items.NomeTipo</option>
                                        }

                                    </select>

                                </div>
1 resposta

Oi Gabriel, tudo bem?

Desculpe a demora em retornar.

Para passar vários valores pelo mesmo select, uma abordagem comum é utilizar a tag "multiple" no elemento "select" e, em seguida, adicionar as opções desejadas.

Por exemplo:

<select id="mySelect" multiple>
  <option value="value1">Opção 1</option>
  <option value="value2">Opção 2</option>
  <option value="value3">Opção 3</option>
  <option value="value4">Opção 4</option>
</select>

Dessa forma, é possível selecionar mais de uma opção ao mesmo tempo. Para obter os valores selecionados, podemos utilizar JavaScript para percorrer as opções e verificar quais estão selecionadas.

var select = document.getElementById("mySelect");
var options = select.options;

for (var i = 0; i < options.length; i++) {
  if (options[i].selected) {
    console.log(options[i].value);
  }
}

No seu caso específico, é possível adicionar a opção "multiple" nos seus selects e permitir que vários signatários e tipos de assinaturas sejam selecionados ao mesmo tempo. Por exemplo:

<label>Selecione um signatário*</label>
<select id="asign" name="Signatario" class="form-control form-control-lg input-width" multiple>
  @foreach (var items in ViewBag.NomeResp) {
    <option value="@items.IdResponsavel">@items.NomeResp</option>
  }
</select>

<label>Selecione o tipo de assinatura*</label>
<select id="astipo" name="TipoAsign" class="form-control form-control-lg input-width" multiple>
  @foreach (var items in ViewBag.NomeTipoAsign) {
    <option value="@items.IdTipoAsign">@items.NomeTipo</option>
  }
</select>

Dessa forma, é possível selecionar mais de um signatário e tipo de assinatura ao mesmo tempo. Para obter os valores selecionados, podemos utilizar o mesmo código JavaScript apresentado anteriormente.

Espero que tenha te ajudado, bons estudos!