views:

27

answers:

3

I have a button that has its location generated dynamically via jquery:

<a id="final_location" 
   href="/pre_config/step4" 
   class="proceed-btn right">Proceed To Next Step &gt;&gt;&gt;</a>
    $('#final_location').click(function() {
        location.href = this.href + '/' + escape($('#type_of_station').html()) + 
            '/' + escape($('.number_changer').attr("id").slice(-1));
        return false;
    });

this works great but the problem comes into play when the html in type_of_station is two words... I get this url:

pre_config/step4/Pizza Delivery/2

Is there a way to make the url only give me the first word like this:

pre_config/step4/Pizza/2

maybe this can be changed to only return the first word?

+1  A: 

Use

encodeURIComponent($('#type_of_station').text().match(/^\S*/)[0])

instead of escape($('#type_of_station').html()) to get the first word (separated by space).

KennyTM
A: 

This should get you the first word in the phrase:

var type = $('#type_of_station').html();
var i = type.indexOf(' ');
if (i != -1) type = type.substr(0, i);
Claude Vedovini
A: 

You could do:

var name = "Pizza Delivery";
var pieces = name.split(" ");

alert(pieces[0]); // Pizza

Or just do:

var name = "Pizza Delivery";
name = name.replace(/\s/g, "-", name); // feel free to change the - delimiter

alert(name); // Pizza-Delivery
Ben