我有多个用于选择选项的复选框。单击这些选项后,将进行数据库调用,以查看是否存在为单击选项列出的选项。
它返回的是所列选项的文本名称。我试图检查我的可检查选项列表与返回的列表。对于每个单独的选项,我会检查名称并返回名称以确定是否匹配。
我的问题是:
if($(this).parent().text() == restrictionArray[i])
似乎不是一种完全准确的方法来检查该选项$(this).parent().text()
的文本是否包含与返回的restrictionArray[i]
相同的文本。
我所遇到的是,有时它会起作用,有时甚至不包含相同的文字。
正是我正在做的事情:
// CREATE NEEDED ARRAY FROM SINGLE STRING
var restrictionArray = data["data_retrieved"].split(',');
// CREATE LOOP TO LOOP THROUGH DATA TO MAKE NEEDED RESTRICTIONS
for(var i = 0; i < restrictionArray.length; i++)
{
// RUN THROUGH EVERY OPTION
$(".option_checkbox").each(function() {
// IF OPTION CONTAINS SELECTED RESTRICTION
if($(this).parent().text() == restrictionArray[i])
{
// CHANGE OPTION'S CSS
$(this).parent().css('color', 'lightgray');
$(this).parent().css('pointer-events', 'none');// <!-- THIS IS KEY TO STOP CLICk
}
});
}
建议,想法?
答案 0 :(得分:3)
我所遇到的是,它有时会起作用,有时也会起作用 即使它们都包含相同的文本也不会。
我认为空白是你的问题,如评论中所述。
我建议您在trim
条件下if
。
if($(this).parent().text().trim() == restrictionArray[i])