如何将所选选项标记为已选中?

时间:2015-05-07 22:17:09

标签: jquery html ajax

我正在使用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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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');