如何使用jQuery在页面加载时获取下拉列表的值

5
使用jQuery,我如何在页面加载时获取选择项的值? 我可以在onChange等事件中实现,但无法想出在页面加载时的方法。
以下是我的代码:
<select name="symb" id="symb">
  <option value="1#10#6">Basic Personal</option>
  <option selected="selected" value="2#20#6">Basic Family</option>
  <option value="7#90#12">Advanced Personal</option>
  <option value="8#120#12">Advanced Family</option>
  <option value="9#130#12">Optimum Personal</option>
  <option value="10#170#12">Optimum Family</option>
</select>

这是我用于获取onchange选项值的脚本: ```html

以下是我用于获取 on change 事件选项值的脚本:

```
$(document).ready(function() {
    $("#symb").change(function() {
          var val = $(this).symbCost(0);
    })

   $.fn.symbCost = function(pos) {
        var total = parseInt($("option:selected").val().split('#')[pos]);
        return total;
    }
});
4个回答

16
$(document).ready(function() {
    alert($("#symb").val());
});

4
我讨厌解决方案如此容易的时候!:) 谢谢! - bikey77

2

演示 http://jsfiddle.net/YXbDd/3/ 或者 http://jsfiddle.net/YXbDd/4/

API: http://api.jquery.com/ready/ > 指定在DOM完全加载后执行的函数。

我不确定你这里的pos上下文是什么,但这应该可以做到固定。

$("#symb").val().split('#')[0]

其余部分请参考演示和代码,希望能有所帮助。

代码

$(document).ready(function() {
    alert("when the page load ==> " + $("#symb").val().split('#')[0]);
    $("#symb").change(function() {
          var val = $(this).symbCost(0);
    })

   $.fn.symbCost = function(pos) {
        var total = parseInt($("option:selected").val().split('#')[pos]);
        alert(total);
        return total;
    }
});​

或者

$(document).ready(function() {
    alert("when the page load ==> " + $("#symb option:selected").val().split('#')[0]);
    $("#symb").change(function() {
          var val = $(this).symbCost(0);
    })

   $.fn.symbCost = function(pos) {
        var total = parseInt($("option:selected").val().split('#')[pos]);
        alert(total);
        return total;
    }
});​

1
option:selected也可以省略,只需使用 $("#symb").val() - Prasenjit Kumar Nag
@Tats_innit:两个答案都是正确的,不过我得投票给最快的那个。感谢你的帮助。 - bikey77
@bikey77 不用担心,伙计 :) 是的,请把它给上面那个人!祝你愉快。 - Tats_innit

1
$(document).ready(function() {
    alert($("#dropdownid").val());
});

0

最好的解决方案很简单:

$(document).ready(function() {
$.fn.symbCost = function(pos) {
var total = parseInt($(this).val().split('#')[pos]);
    return total;
}   
$("#symb").change(function() {
    var val = $(this).symbCost(0);
}).triggerHandler('change');

});

或者这样

$(document).ready(function() {
$.fn.symbCost = function(pos) {
    var total = parseInt($(this).val().split('#')[pos]);
    return total;
}
$("#symb").change(function() {
    var val = $(this).symbCost(0);
}).symbCost(0);

});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接