The Masta
The Masta

Reputation: 857

Set Value to x if Value is empty JQUERY Ajax Request

function filterShips() {
    if ( $("#torso").val() == "" ) {
        $("#torso").val("-1");
    }
    if ( $("#race").val() == "" ) {
        $("#race").val("-1");
    }
    $.ajax({
        type: "GET",
        url: "ajax/filter.php",
        async: false,
        data: "t="+$("#torso").val()+"&r="+$("#race").val()
    });
}

If the Value is empty it should be set to -1 but this seems not to work FireBug shows me

GET ajax/filter.php?t=undefined&r=undefined

<select name="torso" id="torso" onchange="filterShips();">
<option value="-1">alle</option>
<option value="0">torso 1</option>
<option value="1">torso 2</option>
<option value="2">torso 3</option>
<option value="3">torso 4</option>
<option value="4">torso 5</option>
<option value="5">torso 6</option>
<option value="6">torso 7</option>
<option value="7">torso 8</option>
<option value="8">torso 9</option>
<option value="9">torso 10</option>
<option value="10">torso 11</option>
<option value="11">torso 12</option>
<option value="12">torso 13</option>
<option value="13">torso 14</option>
<option value="14">torso 15</option>
</select>

<select name="race" id="race" onchange="filterShips();">
<option value="-1">alle</option>
<option value="0">r1</option>
<option value="1">r2</option>
<option value="2">r3</option>
</select>

If i make a selection the transmittet parameters are correct!

Upvotes: 0

Views: 1181

Answers (3)

Jason OOO
Jason OOO

Reputation: 3552

change your function to:

function filterShips() {
    var torso = $("#torso").val(); //or "#torso option:selected"
    var race = $("#race").val();
    if ( !torso ) {
        torso = '-1';
    }
    if (!race) {
        race = '-1';
    }
    $.ajax({
        type: "GET",
        url: "ajax/filter.php",
        async: false,
        data: "t="+torso+"&r="+race
    });
}

Upvotes: 1

Oliboy50
Oliboy50

Reputation: 2731

function filterShips() {
    var torso = $("#torso").val();
    var race = $("#race").val();

    if ( !$.trim(torso).length || typeof torso === "undefined") {
        torso = -1;
    }
    if ( !$.trim(race).length || typeof race === "undefined") {
        race = -1;
    }

    $.ajax({
        type: "GET",
        url: "ajax/filter.php",
        async: false,
        data: "t="+torso+"&r="+race
    });
}

Upvotes: 0

Andrei Ionut-Adrian
Andrei Ionut-Adrian

Reputation: 11

what are torso and race in your page? Are they textboxes? Try inserting some variables:

function filterShips()
{
    var torso = "";
    var race = "";
    if($("#torso").val() == ""){
      torso = "-1";
    }
    else {
      torso = $('#torso').val(); 
    }

    if($("#race").val() == ""){
      race = "-1";
    }
    else { 
      race = $('#race').val();
    }
     $.ajax({

          type: "GET",
          url: "ajax/filter.php",
          async: false,
          data: "t="+ torso+"&r="+race

      });
}

Upvotes: 0

Related Questions