在select标签中获取所选值

时间:2016-01-10 18:10:28

标签: javascript jquery html select

我必须开店。它几乎已经完成,但我坚持让客户改变产品购物车中的金额并让价格动态变化。

我制作了一个包含10个选项的select-tag,其中选择了所选的金额。我希望用户能够单击选择,选择其他金额并在实时预览中计算价格。但我无法弄清楚如何选择所有选择标签并在每个选项上放置一个点击事件。

我试过这样:

<select class="st" name="">
   <option>1</option>
   <option>2</option>
   <option>3</option>
   <option>4</option>
   <option>5</option>
</select>

和我的jquery:

var st = $('.st');

st.change(function(){
var str = "";
$( ".st option:selected").each(function() {
    str = $(this).text();
    console.log(str);
  });
})

但是我正在从每个select-tag中获取所选的一个。我希望它只是在我点击的select-tag中安排我选择的那个。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

您可以直接获取当前<select>的值:

var st = $('.st');

st.change(function(){
    // $(this) references the current <select>
    console.log($(this).val());
})

答案 1 :(得分:0)

您的循环重新抓取每个numberOfChildrenOfItem,而不是使用AnyObject,以便它定位所点击的对象。

.st

答案 2 :(得分:0)

如果获取TEXT而不是VALUE,下面的代码将有所帮助:

$('select').on('change', function(e){
   console.log($(e.currentTarget).find(":selected").text())
})