2015-05-07 94 views
0

我正在使用ajax分頁,我給我的用戶提供了一個機會,通過提供的選項選擇每頁記錄。問題是每次第一個選項保持選擇不管我選擇哪個選項!如何解決這個問題,以便只有選定的選項保持選定狀態!如何標記選定的選項?

的jQuery + AJAX:

<script type="text/javascript"> 
$(document).ready(function(){ 
changePagination('0');  
}); 


function changePagination(pageId){ 

    $(".flash").show(); 
    $(".flash").fadeIn(800).html 
     ('Loading <img src="ajax-loader.gif" />'); 

    var dataString = {pageId: pageId, recordsPerPage: $('select[name="rp"] option:selected').html()}; 
      type: "POST", 
      url: "page.php", 
      data: dataString, 
      cache: false, 
      success: function(result){ 
      $(".flash").hide(); 
      $("#pageData").html(result); 
      } 
     }); 
} 
</script> 

選項:

<select id="rp" name="rp" onChange=" changePagination();"> 
<option value="2">2</option> 
<option value="6">6</option> 
<option value="8">8</option>    
<option value="10">10</option>    
</select> 
+0

提供'dataString'的'console.log'輸出。 – EternalHour

回答

0

如果你想要的是select表單元素的當前值,那麼這將做到:

$(document).ready(function(){ 
 
    changePagination('0');  
 
}); 
 

 
function changePagination(pageId){ 
 
    alert($('select[name="rp"]').val()); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select id="rp" name="rp" onChange="changePagination();"> 
 
<option value="2">2</option> 
 
<option value="6">6</option> 
 
<option value="8">8</option>    
 
<option value="10">10</option>    
 
</select>

+0

其實我並不需要這個值只是想將關聯的選項標記爲選中! – query

+0

然後在這裏看到:http://www.w3schools.com/tags/att_option_selected.asp –

+0

我想動態地標記一個選項,根據選擇的值進行選擇,但您提供的鏈接中的示例將始終保留一個特定的選項作爲選擇忽略當前的選擇! – query

0

您可以選擇其中一個選項,並給它selected屬性。

// 'n' will be your index value for selecting and making one of the options stay selected. 
$('#rp option').eq(n).attr('selected', true); 
$('#rp option').eq(n).attr('selected', 'selected'); 

FYI

.attr()無法正常在一定的jQuery版本。如果它發生在你身上,請改爲使用prop()。由於selected是屬性,而不是屬性,因此使用prop()在語義上和綜合性上都是正確的。

$('#rp option').eq(n).prop('selected', true); 
$('#rp option').eq(n).prop('selected', 'selected');