如何创建一个jquery函数来影响id的前缀和后缀

How to create a jquery function that affect id with prefix and suffix?

本文关键字:id 影响 前缀 后缀 函数 一个 何创建 创建 jquery      更新时间:2023-09-26

我需要像时间表一样每天记录。比方说我用这个jQuery来计算或者做一些事情

$('#report_time_hours').change(function() {
    $('[name=reporttime]').val(/* new value */);
});
$('#report_time_minutes').keyup(function() {
    $('[name=reporttime]').val(/* new value */);
});
$('#report_time_period').change(function() {
    $('[name=reporttime]').val(/* new value */);
});

这些函数被认为是一天的一组函数。

我有7天(周一到周日),在HTML部分,我应该通过添加前缀来重命名id和名称,如mon_reportname, mon_report_time_hours, sun_report_time_hours等…

如果我使用

$('[id$=_report_time_hours]')

这肯定会影响具有该后缀id的所有字段,而不管前缀(mon, true等)

那么,怎样才能使函数集只影响相似的前缀呢?

给出你的身份证号码例如:

$('#report_time_hours1').change(function() {
    $('[name=reporttime]').val(/* new value */);
});
$('#report_time_minutes1').keyup(function() {
    $('[name=reporttime]').val(/* new value */);
});
$('#report_time_period1').change(function() {
    $('[name=reporttime]').val(/* new value */);
});

然后u可以将每一天表示为数字1 -周日等等

那么你的代码应该是这样的:
for(i=1;i<=7 ; i++)
{
    $('#report_time_hours' + i).change(function() {
        $('[name=reporttime]').val(/* new value */);
    });
    $('#report_time_minutes1' + i).keyup(function() {
        $('[name=reporttime]').val(/* new value */);
    });
    $('#report_time_period1' + i).change(function() {
        $('[name=reporttime]').val(/* new value */);
    }); 
}

这个应该可以。

虽然我会为你所有的数据去一个类,然后它应该更简单:

    $('classForHours').change(function() {
        $('[name=reporttime]').val(/* new value */);
    });
    $('classForMinutes').keyup(function() {
        $('[name=reporttime]').val(/* new value */);
    });
    $('classForPeriods' + i).change(function() {
        $('[name=reporttime]').val(/* new value */);
    });