如何运行具有多个ID的特定功能

时间:2016-04-09 07:10:35

标签: jquery document

我有一个包含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();
    }
});

2 个答案:

答案 0 :(得分:1)

您可以使用属性开头的选择器,String.prototype.replace()RegExp /\D/g来替换不是数字的id部分,检索元素{{1的数字部分选择以id开头的id的相应元素。

&#13;
&#13;
#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;
&#13;
&#13;

答案 1 :(得分:1)

我的建议是你是否为每个按钮使用了相同的类而不是id

import ast.literal_eval as eval