我有一个包含5个php文件的php页面。在每个文件中,我为每个php文件输入一个[button],当用户点击它时,该函数将被触发。 因为我不允许在页面中使用相同的ID,所以我很困惑为每个ID应用$(document).ready(function(){..})。我该怎么处理? 更清楚: 我有('#add_more1,#add_more2,#add_more3,#add_more4,#add_more5)。我想要的是当用户点击每个ID时,它会触发下面的代码。 例如,如果他点击('#add_more2'),它将运行代码 谢谢先进。
// To add new input file field dynamically, on click of "Add More Files" button below function will be executed.
$('#add_more2').click(function() {
$('#show2').append($("<div/>", {
id: 'filediv'
}).fadeIn('slow').append($("<input/>", {
name: 'file[]',
type: 'file',
id: 'file'
})));
});
// Following function will executes on change event of file input to select different file.
$('body').on('change', '#file', function() {
if (this.files && this.files[0]) {
counter += 1; // Incrementing global variable by 1.
$(this).before("<div id='abcd" + counter + "' class='abcd'><img id='previewimg" + counter + "' src=''/></div>");
var reader = new FileReader();
reader.onload = imageIsLoaded;
reader.readAsDataURL(this.files[0]);
$(this).hide();
$("#abcd" + counter).append($("<i/>", {
id: 'img',
top:0,
class: 'fa fa-times',
alt: 'delete'
}).click(function() {
$(this).parent().parent().remove();
}));
}
});
// To Preview Image
function imageIsLoaded(e) {
$('#previewimg' + counter).attr('src', e.target.result);
};
$('#upload').click(function(e) {
var name = $(":file").val();
if (!name) {
alert("First Image Must Be Selected");
e.preventDefault();
}
});
答案 0 :(得分:1)
您可以使用属性开头的选择器,String.prototype.replace()
和RegExp
/\D/g
来替换不是数字的id
部分,检索元素{{1的数字部分选择以id
开头的id
的相应元素。
#show
&#13;
$("[id^=add_more]").click(function() {
$("#show" + this.id.replace(/\D/g, "")).append($("<div/>", {
id: "filediv"
}).fadeIn("slow").append($("<input/>", {
name: "file[]",
type: "file",
id: "file"
})));
});
&#13;
答案 1 :(得分:1)
我的建议是你是否为每个按钮使用了相同的类而不是id
import ast.literal_eval as eval