It's the same thing that gives gold value, that people trade their goods or services in exchange for bitcoins/gold. No other currencies are necessary in order to determine the value of a bitcoin, it's just that right now merchants still pay their expenses in dollars. This means that they set their price in dollars and then convert to bitcoins based on exchange rate. In the future, it could be that most merchants pay most of their bills with bitcoin, so they can price directly in the currency as opposed to dealing with exchange rates.
The only reason people want dollars is so they can pay for things they need or want. The same is true for bitcoin, except it's also a good vehicle for storing value (saving).