Simple answer:
grep -l string *
Will list all the files in your current directory that contain the string string.
And if you want to look for string in all the files in the current directory and any subdirectories, use:
grep -rl string .
Details:
* will match everything in your current folder except files that start with ., it will theoretically also match directories even though it usually doesn't matter much. If you want to be really picky you can use find like this:
find . -type f -maxdepth 1 -exec grep -i string {} /dev/null \;
If you want to look in the current folder and subfolders, leave -maxdepth 1 out like:
find . -type f -exec grep -i string {} /dev/null \;
{} means the filename it matches, but to liste the NAME of the file too you have to add atleast two filenames, and mentioning /dev/null does the trick. You can modify this as you like for wanted result. Should give you a base to work from. :)