Php 动态选择选项不适用于动态创建的字段
以下是我的html代码:Php 动态选择选项不适用于动态创建的字段,php,jquery,mysql,Php,Jquery,Mysql,以下是我的html代码: <div class="full Mtop2"> <div class="col-6"> <div class="col-8"> <div class="col-6 label"> <label>City</labe
<div class="full Mtop2">
<div class="col-6">
<div class="col-8">
<div class="col-6 label">
<label>City</label>
</div>
<div class="col-6-m feild">
<select name="selfaclcity[]" id="selfaclcity">
<option value=""> --- Select --- </option>
</select>
</div>
</div>
<div class="col-4-m">
<div class="col-4 label">
<label>State</label>
</div>
<div class="col-8-m feild">
<select name="selfaclstate[]" id="selfaclstate">
<option value="">--Select--</option>
</select>
</div>
</div>
</div>
<div class="col-6-m">
<div class="col-7 label">
<label>Zip Code</label>
</div>
<div class="col-5-m feild">
<input type="text" id="txtfaclzipcode" value="" name="txtfaclzipcode[]">
</div>
</div>
</div>
<div class="col-6">
<div class="col-7 label">
<label>Multiple Facility Owners?</label>
</div>
<div class="col-5-m feild">
<select name="selmulti_owner[]" id="selmulti_owner" class="selmulti_owner">
<option value="10"> --- Please Select --- </option>
<option value="1">Yes</option>
<option value="0">No</option>
</select>
</div>
</div>
以下是我从数据库中选择状态的代码:
var url = "<?php echo 'inc/getstate.php' ?>";
var getstate = "getstate";
$.post(url,{'getstate':getstate},function(msg){
$('#selstate').append(msg);
$('#selfaclstate').append(msg);
$('#selcurfaclstate').append(msg);
});
下面是我生成DynamicInputFields.JS页面的代码
$( document ).on( "change", ".selmulti_owner", function() {
if($(this).val() == 1){
var i=$('.multi_facility').length;
var url = "../inc/getstate.php";
var getstate = "getstate";
$.post(url,{'getstate':getstate},function(msg){
$('#selfaclstate'+i).html(msg);
});
$html ='';
$html += '<div class="full multi_facility">';
$html += '<div class="col-6 label">';
$html += '<label> Additional City</label>';
$html += '</div>';
$html += '<div class="col-6-m feild">';
$html += '<select name="selfaclcity[]" id="selfaclcity">';
$html += '<option value=""> --- Select --- </option>';
$html += '</select>';
$html += '</div>';
$html += '</div>';
$html += '<div class="col-6-m">';
$html += '<div class="col-6 label">';
$html += '<label>Additional State</label>';
$html += '</div>';
$html += '<div class="col-6-m feild">';
$html += '<select name="selfaclstate[]" id="selfaclstate">';
$html += '<option value="NY">New York</option>';
$html += '</select>';
$html += '</div>';
$html += '<div class="col-6-m">';
$html += '<div class="col-7 label">';
$html += '<label>Additional Zip Code</label>';
$html += '</div>';
$html += '<div class="col-5-m feild">';
$html += '<input type="text" id="txtfaclzipcode" value="" name="txtfaclzipcode[]">';
$html += '</div>';
$html += '</div>';
$html += '</div>';
$html += '<div class="facility_minus Mtop2"><i class="fa fa-minus fa-2x"></i></div>';
$html += '</div>';
$('.Facility_add').append($html);
}
});
下面是从我的数据库生成的状态字段。当我选择一个州时,它对应的城市显示在城市字段中,我在选项中选择一个城市,它对应的邮政编码显示在对应的邮政编码字段中。
在第二步中,我选择了多个设施所有者?如果选择“是”,则显示一些其他字段。但状态不会显示在状态字段中。初始状态是工作的,但动态生成的状态字段不是工作的。
请帮帮我。我不确定我是否了解这里的流程或流程。您的javascript.on change方法似乎添加了更多下拉列表,使用了页面中已经使用过的ID。不能有多个ID相同的元素-这是无效的HTML。此外,还不清楚是什么触发了对getstate.php的调用。它是否在某种事件中?好的,我将代码更改为var i=$'.multi_facility.length;因此,我的字段类似于$html+=$html+=‘纽约’$html+=;如何触发对getstate php的调用?无论如何,您需要将代码添加到处理响应的代码中,以填充辅助下拉列表。或者将其更改为在不同下拉列表共享的CSS类上工作,而不是IDsi编辑我的上述代码,请验证。不工作。到底是怎么回事?发生了什么/没有发生什么?您在控制台中有任何错误吗?另外,请在问题中完全更新您的代码,包括您在上面的注释中添加的内容,以便更容易理解。