此函数在更改零件号(pno)字段时创建进程名称(prc)字段,现在我想要更改进程名称的进程特征字段,但进程名称上的.change函数不起作用($('#prc ')。change(function(){});此函数不起作用)
$('#pno').change(function(){
var partno=$("#pno option:selected" ).val();
$.ajax({
cache: false,
dataType: "html",
type: "POST",
evalScripts: true,
url: '<?php echo Router::url(array('controller'=>'Partconfs','action'=>'addpro'));?>',
data: ({partno:partno}),
success: function(result){
var pch=result.split('//');
var plen=pch.length;
var str="";
$('#fid').html('');
str='<tr><td><br><b>PROCESS NAME</b><br><br></td></tr><tr><td><select name="process_name" label="" id="prc" style="height:30px; margin-top:-5px; min-width:190px; width:auto;" ><option value="">Select any</option>';
$.each(pch,function(i,v){
str += '<option value="'+v+'">'+v+'</option>';
});
str +='</select></td></tr>';
$('#fid').append(str);
}
});
});
答案 0 :(得分:0)
您必须在动态字段上使用on函数。 http://api.jquery.com/on/
答案 1 :(得分:0)
您需要在此行之后直接添加事件侦听器:
$('#fid').append(str);
当节点准备好附加事件侦听器时,或者您需要在将新<select>
写入DOM之前从可用的父节点委派事件。
$('#fid').on('change', '#prc', function() {
// do your stuff
});
这可以通过将事件附加到有效组件来实现,但只有当更改元素的选择器(在#fid下面)与选择器'#prc'匹配时才会触发