2015-02-02 3 views
0

Я добавляю список переменных длины в представлении с помощью jquery.Как добавить динамическую переменную javascript в jquery?

$("#addItemday").click(function() { 
    $.get("/Course/AddDayNewRow", function(data) { 
    $("#DayEditorRows").append(data); 
    }).fail(function(xhr, err) { 
    alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status); 
    alert("responseText: " + xhr.responseText); 
    }); 
    }); 

для каждого PartialView, установить индекс value.for например

<input name="Days.index" autocomplete="off" value="96633b1d-9c0c-4760-9ca8-474ac28bd52a" type="hidden"> 

Я хочу, чтобы добавить сценарий для каждого PartialView.

var objCal1 = new AMIB.persianCalendar("objCal1", "dateid"); 

После добавления PartialView, я хочу, чтобы последний элемент был добавлен.

$("input[id*='Date']").last(function() { 
    var ??? = new AMIB.persianCalendar(???, $(this).attr('id'));}); 

Как получить последние добавления элементов и задать имя для этой переменной?

ответ

0

Два вопроса, два ответа:

1) Для того, чтобы получить идентификатор последнего элемента, который был добавлен:

var last_id = $("input").last().attr("id"); 

Помните, что вы должны ждать, пока ваш вызов AJAX вернуться перед обжигом, что , поэтому добавьте его в свою функцию AJAX.

2) Назовите переменную, что угодно.

Вот пример общего кода:

$("#addItemday").click(function() { 
     $.get("/Course/AddDayNewRow", function(data) { 
      $("#DayEditorRows").append(data); 
      var last_id = $("input").last().attr("id"); 
      var amib_var = new AMIB.persianCalendar(last_id); 
      // DO SOMETHING WITH THE AMIB_VAR 
     }).fail(function(xhr, err) { 
      alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status); 
      alert("responseText: " + xhr.responseText); 
    }); 
    }); 
+0

Спасибо, я получаю идентификатор, но я хочу, чтобы добавить переменную для каждого частичного с Diferent именем, добавить следует добавить эту переменную в теле, например, добавить ' 'для каждого частичного тела. –

+0

Хорошо. Я не знаю контекста того, что вы здесь делаете, что затрудняет его. Если у вас есть скрипка со всем этим, это будет здорово. Однако создание переменной с именем возвращаемого объекта почти не требуется. Если вам нужно что-то выполнить в каждом поле ввода, просто используйте $ («input»). Each (function() {// делаем что-то}) для итерации - используйте DOM вместо дублирования данных в переменных. Но если вам действительно нужно дублировать данные, поместите их в объект. Смотрите этот скрипт: http://jsfiddle.net/x01c05ab/ –

+0

Спасибо большое :) –

Смежные вопросы