Как получить идентификатор из выпадающего списка в MVC View?

0

Я разрабатываю приложение ASP.NET MVC.

У меня выпадающее меню не совсем сбрасывается, но я даю ощущение выпадающего списка.

Пользователь может добавить n количество продуктов в список.

Когда пользователь начинает вводить текст в текстовое поле, в это текстовое поле начинаются следующие продукты, начинающиеся с введенного символа. см. изображение...

Изображение 174551

Он работает отлично, выбирая элемент из раскрывающегося списка.

Теперь проблема возникает, когда я хочу получить идентификатор продукта Продуктов, добавленных пользователем.

Я хочу получить массив идентификатора продукта, добавленного пользователем.

Код моего контроллера

  public ActionResult NewvendorList(string term)
        {
            var results = new[] 
             {
            new { id = "1", label = "Suraj Metels" },
            new { id = "2", label = "A.B. Infra" },
            new { id = "3", label = "Momin Brother" },
            new { id = "4", label = "Fort"},
            new { id = "5", label = "Malabar Hill" },
            new { id = "6", label = "A.B.C. Limited" },

            };
            var result3 = results.Where(s => s.label.ToLower().StartsWith(term.ToLower())).Select(w => w).ToList();       
            return Json(result3, JsonRequestBehavior.AllowGet);
        }

Код вида форм, код JQuery, используемый для получения данных из метода контроллеров...

<script type="text/javascript">

    $(document).ready(function () {
        var i = 0;


        $("#lnkAddProduct").on("click", function () {
            //$('#ProductId').val("");
            @*var url = "@Url.Content("~/Scripts/GeneralScript.js")";
                 $.getScript(url, function () {
                 });*@
            var d = '<div class="addedProduct "><div class="control-group " style="margin-bottom:10px;"><input type="text" class="ProductName span2 pull-left" id="Product_Name_' + i + '" name="Product_Name" value="" placeholder="start typing to load products" )"/><input type="hidden" class="ProductCode" name="Product_Code" id="ProductCode_' + i + '" value=/><a href="#" class="clsremove font-midium" style="margin-left:5px;margin-top:5px;" id="remove_' + i + '">remove</a></div></div>';
            $('#ProductList').append(d);
            alert("newID:"+i);

            $(".clsremove").unbind("click").click(function () {
                $(this).closest(".addedProduct").remove();
            });


            $('body').delegate(".ProductName", "focusin", function () {
                $(this).autocomplete({
                    source: '@Url.Action("NewvendorList","Product")',

                minLength: 1,

                select: function (evt, ui) {


               $("#Product_Name_"+ i ).val(ui.item.label);


               $("#ProductCode_" + i).val(ui.item.id);

               alert($("ProId" + $("#ProductCode_" + i).val(ui.item.id)));


                }


            });
            });

            i = i + 1;          
        });       
    }); 


</script>

Как получить этот идентификатор при сохранении записи?

  • 0
    пожалуйста, уточните сценарий и требования больше. не могу get the Product ID's of the Products which have added by user
Теги:
asp.net-mvc
asp.net-mvc-4

1 ответ

0

Это может быть то, что вы хотите.

onclick кнопки create u вызовите обработчик jquery и получите значения div или span, независимо от того, что вы используете, и поместите все эти значения в массив. то вы можете присвоить значения массива некоторому скрытому элементу и получить доступ к нему со стороны контроллера при отправке формы

var ids=[];
$('span[id^=ProductCode]').each(function(){
    ids.push(parseInt($(this).text()));
});
var st=ids.join();
alert(st);
$('#hdn').val(st);

FIDDLE

Ещё вопросы

Сообщество Overcoder
Наверх
Меню