我有多个表单,每个表单具有相同的名称,但每个表单都有唯一的表单ID。每个表单都具有相同的名称和id的元素。 现在,如何在同一表单上执行某些操作时告诉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>
答案 0 :(得分: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);
});
});
});
您需要获取父级表单,然后找到具有所需名称的选择。