Vivek.anand34 Ответов: 2

Как автозаполнить и выбрать значение в webgrid в MVC


уважаемый друг,

Мне нужно автозаполнение и выбранное значение изменилось в webgrid: я сделал это, но выбранное значение изменилось только в последней строке... не менялось значение в каждой строке.



По отношению,
Вивек. Р

Что я уже пробовал:

//Autocomplete
    var setupAutoComplete = function () {
        var r = 0;
        $(".ItemName").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "/MRD/GetData?term=" + request.term,
                    type: "POST",
                    dataType: "json",
                    success: function (data) {
                        if (data.length > 0) {
                            response($.map(data, function (item) {
                                return { label: item.ItemWithRate, value: item.ItemWithRate
                                };
                            }))
                        }
                        else {
                            response([{ label: 'No results found.', val: -1}]);
                        }
                    }
                })
            },
            select: function (event, ui) {
                var itemname = ui.item.value;
                if (ui.item.val == -1) {
                    ic.val('');
                    rc.val('');
                    iname.val('');
                    return false;
                }
                else {
                    $.getJSON('@Url.Action("GetDetail")', { itemname: ui.item.value }, function (data) {
                        if (data) {
                         
                           
             var itcode =  $('.ItemCode').closest("tr").find('.ItemCode').last();
             var ircode = $('.IRCode').closest("tr").find('.IRCode').last();
             var unitprice = $('.UnitPrice').closest("tr").find('.UnitPrice').last();

             ircode.val(data.rcode);
             itcode.val(data.icode);
             unitprice.val(data.unitprice);
                        }
                    });
                }
            },
            //  change: txtOneChanged,    
            messages: {
                noResults: "", results: ""
            }
        });
    }

2 Ответов

Рейтинг:
1

appumvc

Поскольку u связывает автозаполнение с классом.
// запуск при срабатывании eventlistener
$(".ItemName"). on ("autocompletechange", function(event, ui) {
// post значение в консоль для проверки
консоли.журнала($(это).вал());
});
вы можете получить выбранное значение.


Рейтинг:
0

Afzaal Ahmad Zeeshan

Цитата:
я сделал это, но выбранное значение изменилось только в последней строке
Что еще должен делать следующий код?
var itcode =  $('.ItemCode').closest("tr").find('.ItemCode').last();
var ircode = $('.IRCode').closest("tr").find('.IRCode').last();
var unitprice = $('.UnitPrice').closest("tr").find('.UnitPrice').last();
 
ircode.val(data.rcode);
itcode.val(data.icode);
unitprice.val(data.unitprice);

Вы говорите JavaScript использовать последний элемент в коллекции, удалить его и использовать что-то еще, попробуйте использовать индекс.

Совет: начните с верхнего уровня, например <table> и найти строку (<tr>) вы хотите нацелиться, вы можете сделать это легко, передав индекс или рассчитав его.


Vivek.anand34

как найти строку....

Afzaal Ahmad Zeeshan

Вы можете получить индекс элемента в фокусе, таким образом, получить строку. Или просто использовать $(this) к целевому текущему элементу.

Vivek.anand34

пожалуйста, вы можете отправить этот код...

Vivek.anand34

Привет.. кто-нибудь поможет этой концепции.до сих пор не решил эту проблему..