2015-03-20 2 views
0

У меня есть несколько форм с одинаковым именем, но уникальный идентификатор формы для каждой формы. Каждая форма имеет одинаковые элементы с одинаковым именем и идентификатором. Теперь как я могу сказать jquery, чтобы обновить поле, когда есть какое-то действие в той же форме?Обновление поля по идентификатору формы в jQuery

 $('select[name="locationName"]').change(
      function() { 
       $('select[name="flavorDefs"]').prop("disabled", true); 
       $.getJSON('flavorDefinitions.wss', { 
        location : $(this).val(), 
        ajax : 'true' 
       }, function(data) { 
        $('select[name="flavorDefs"]').prop("disabled", false); 
        var html = ''; 
        var len = data.length; 
        for (var i = 0; i < len; i++) { 
        html += '<option value="' + data[i].id+ '" id="'+data[i].id+'">' 
           + data[i].cpus+' CPU '+data[i].ram+' MB RAM '+data[i].disk+' GB DISK '+ '</option>'; 
        } 

        $('select[name="flavorDefs"]').html(html); 
       }); 
      }); 
}); 
</script> 

И форма будет как

<form action="provisionserver.wss" name="submitForm" method="POST" id= "formid193.0"> 
     <select name="locationName" id="locationId"/> 
    <select name="flavorDefs" id="flavorDefs"/> 
</form> 

     <form action="provisionserver.wss" name="submitForm" method="POST" id= "formid194.0"> 
     <select name="locationName" id="locationId"/> 
    <select name="flavorDefs" id="flavorDefs"/> 
</form> 
+2

Множество одинаковых идентификаторов на одной странице неправильное разметку – sync

ответ

0

Попробуйте этот код:

$('select[name="locationName"]').change(
     function() { 
      var flavorDefs = $(this).parents('form:first').find('select[name="flavorDefs"]'); 
      flavorDefs.prop("disabled", true); 
      $.getJSON('flavorDefinitions.wss', { 
       location : $(this).val(), 
       ajax : 'true' 
      }, function(data) { 
       flavorDefs.prop("disabled", false); 
       var html = ''; 
       var len = data.length; 
       for (var i = 0; i < len; i++) { 
       html += '<option value="' + data[i].id+ '" id="'+data[i].id+'">' 
          + data[i].cpus+' CPU '+data[i].ram+' MB RAM '+data[i].disk+' GB DISK '+ '</option>'; 
       } 

       flavorDefs.html(html); 
      }); 
     }); 
    }); 

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

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