угловое получить выделенное значение в множественном выборе внутри ng-repeat - PullRequest
0 голосов
/ 21 ноября 2018
<tr ng-repeat="x in my_array">
                        <td>
                            <select name='[{{$index}}].Name' > 
                                <option ng-repeat="sr in anotherArray" value="{{sr}}">
                                    {{sr}}
                                </option>
                            </select>
                        </td> 
 </tr>

у меня есть таблица со строками, заполненными ng-repeat: my_array

есть другой массив: anotherArray

lхотите, чтобы строки повторялись в угловых значениях для my_array , чтобы иметь свое собственное значение для [{{$ index}}]. Имя должно основываться на выбранном значении для этой конкретной строки.

когда я отправляю данные в api [{{$ index}}]. Имя будет иметь только одно и то же значение, даже если я выберу разный элемент для каждой строки.

Я пытался использовать ng-options, так как было сказано, что это хорошо для

of, есть простой способ обойти это.

Заполняет anotherArray и anotherArray

на разных на одной странице, но это просто массив со строковыми значениями в нем, как показано ниже

  $scope.anotherArray= [];

$scope.add = function () {
            $scope.errortext = "";
            if (!$scope.addMe) { return; }
            if ($scope.variants.indexOf($scope.addMe) == -1) {
                $scope.anotherArray.push($scope.addMe); 
            }
        }

желаемый результат похож на

desired table

в изображении i_prepopulateOnRow1, i_prepopulateOnRow2 ... i_prepopulateOnRow до Nth добавляются из anotherArray

Когда добавляется новая строка из my_array , она должна иметь опцию выбора для anotherArray , поэтому в каждой строке l может иметь значение дляi_prepopulateOnRow

причина, по которой я использую имя как [{{$ index}}]. Имя , потому что я отправляю в asp.net api.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я публикую все строки, имеют одинаковое значение для [{{$ index}}]. Имя , даже если я выбираю разные значения

Редактировать два

я не получаю ответы, я сделал это неправильно / пожалуйста, даже предположение поможет мне потратить два дня на это.Помогите ребята

1 Ответ

0 голосов
/ 21 ноября 2018

Если вы публикуете страницу на стороне сервера, тогда имя элемента HTML должно совпадать со структурой класса сервера

Ex. Server class



public class otherClass
    {
        public int id { get; set; }
        public string name { get; set; }
    }

    public class myclass
    {
        public string name { get; set; }

        public List<string> nameList { get; set; }

        public List<otherClass> otherList { get; set; }

    }

then you HTML elment name should be like



<form method="post" action="http://localhost:56096/api/Values">

    <div>
        <input type="text" name="name" />
    </div>
    <div>
        <ul>
            <li>
                <input type="text" name="nameList[0]" />
            </li>
            <li>
                <input type="text" name="nameList[1]" />
            </li>
            <li>
                <input type="text" name="nameList[2]" />
            </li>
        </ul>
    </div>
    <div>
        <ul>
            <li>
                <input type="hidden" name="otherList[0].id" value="0" />
                <input type="text" name="otherList[0].name" />
            </li>
            <li>
                <input type="hidden" name="otherList[1].id" value="1" />
                <input type="text" name="otherList[1].name" />
            </li>
            <li>
                <input type="hidden" name="otherList[2].id" value="2" />
                <input type="text" name="otherList[2].name" />
            </li>
        </ul>
    </div>

    <input type="submit" value="Submit" />

</form>

Я могу вам помочь с этим

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...