1. I don't have special plans for this weekend.

2. I don't have special plans this weekend.
3. I don't have special plans on this weekend.
======================================
Is #3 grammatical? What is the difference between #1 and #2? Are both the same?

All are correct, but 1 and 2 are the best of the 3.

If I were to use 3, I'd say, "I don't have any special plans on the weekend."

Thank you.

What is the difference in meaning? Are they all the same in meaing?

Yes, they are all the same.

They’re all pretty much identical in meaning.

#1 and #2 are both grammatically correct, while #3 is not.

The main difference between #1 and #2 lies in the use of the preposition "for" in #1 and its omission in #2.

In #1, the phrase "for this weekend" acts as an adverbial phrase modifying the verb "have." It specifies the time period during which the speaker does not have any special plans.

In #2, the phrase "this weekend" functions as an adverbial phrase on its own, without the preposition "for." It still specifies the time period during which the speaker does not have any special plans.

Both #1 and #2 convey the same meaning, but the omission of "for" in #2 is more common and frequently used in everyday speech.