2013-12-02 4 views
0

У меня есть неупорядоченный список в HTML, к которым у меня есть добавление элементов списка Использование JavaScriptJavascript Unordered список OnClick

$(document).ready(function() { 
    $.ajax({ 
     url: "/Home/GetSchools", 
     type: 'get', 
     dataType: "json", 
     async: false, 
     success: function (data) { 
      $.each(data.Items, function (index, value) { 
       console.log("the schoolname is" + value.schoolName); 
       $('ul#dropdown-items').append(' <li role="presentation"><a id="value.schoolId" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">value.schoolName</a></li>'); 
       $('ul#dropdown-items').append('<li role="presentation" class="divider"></li>'); 
      }); 
     } 
    }); 
}); 

Я не мог получить value.schoolName и OnClick = "setschool (this.id); работает ..

+0

Код, который присоединяет к ул работает, возможно, вы получаете плохие данные из вызова Ajax или вы делаете дальнейшую обработку, разрушающая вещь. Или, может быть, функция setchool недействительна и не связывается. http://jsbin.com/aXUgemA/1/edit?html,js,output –

ответ

0

Проверить это fiddle

$(document).ready(function() { 
    i=0; 
    value=["Hello","hi","hey"]; 
    $.each(value,function(){ 
     $('#dropdown-items').append("<li > <a style='cursor:pointer' id='"+value[i]+"'>"+value[i]+"</a></li><br/>"); 
     i++; 
    }); 

    $("a").on("click",function(){ 
    alert(this.id); 
    }); 
    }); 
+0

Привет Vignesh tahnks для ответа .. но проблема теперь в onclick ..., которую я не смог получить – user1032957

+0

См. эту скрипту http://jsfiddle.net/vigneshvdm/AXm7d/2 –

+0

спасибо за ответ vignesh. Решение ur можно рассматривать как обход, и я принимаю его. Хотя доступ к тегу «a», как правило, из jquery, кажется, не является хорошей идеей. – user1032957

0

это потому, что вы жестко прописывать значение в виде строки, а не переменной Когда вы проверяете страницу, так это распечатать идентификаторами правильно

Примечание:.? одна вещь, которую вы хотите сохранить в ум - NOT используйте номер для п идентификатор элемента, вместо этого он написал так: <a id="school_101">Graystone High</a>

Это, как вы можете достичь всего:

$(document).ready(function() { 
      $.ajax({ 
        url: "/Home/GetSchools", 
        type: 'get', 
        dataType: "json", 
        async: false, 
        success: function (data) { 
         $.each(data.Items, function (index, value) { 
          console.log("the schoolname is" + value.schoolName); 
          $('ul#dropdown-items').append(' <li role="presentation"><a id="school_'+value.schoolId+'" role="menuitem" tabindex="-1" href="#" onclick="setschool(this.id);return false;">'+value.schoolName+'</a></li>'); 
         }); 
        } 
       }); 
      }); 

Кроме того, я заметил, что вы добавили Append 2 пунктов: один содержит данные, в то время как другие акты как разделитель. Вы используете один <li> и проверяете, является ли этот элемент последним из набора данных. Если это не последний, вы можете дать ему стиль border-bottom: 1px dashed #CCC.

+0

Привет, спасибо за ответ ... Теперь я могу заполнить список, но .. onclick еще не работает .. Я получаю setchool не – user1032957