jQuery: select option get display value

2022-08-26 19:37:28 浏览数 (1)

要件:

select option 从DB取得,除了value, 还希望对表示值等进行处理

# get the display value of Select using javascript

代码语言:javascript复制
$(function() { // on load
  var $sel = $("#consumption");
  $sel.on("change",function() {
    var value = $(this).val();                     // get value
    var text = $("option:selected", this).text();  // get text
    console.log(value,text)
  }).trigger("change"); // initial call
});
代码语言:javascript复制
$('#consumption :selected').text(); 
代码语言:javascript复制
var select = document.getElementById('consumption');
var text = select.options[select.selectedIndex].text; 

详细:

html定义 (django 4.1)

※value, text 以外,可以用html data来传递

代码语言:html复制
<select id="tax1" name="tax1" data-id="tax_name1">
    <option value=""></option>
    {% for op in consumption %}
    <option value="{{op.tax_code}}" data-tax={{op.tax}}
        {%if op.tax_code == purchase_order.tax1 %}
        selected 
        {% endif %}>
        {{op.tax_name}}</option>
    {% endfor %}
</select>

select option value text data 取得

代码语言:javascript复制
$("select").each(function(){
    // 消費税code設定:消費税表的主键(1,2,23,24)
    data[$(this).attr("id")] = $(this).val();     // data['tax2'] = 2

    if ($(this).data('id')){
        // 消費税名称設定                        // data['tax_name2'] = '消費税8%'
        data[$(this).data('id')] = $("option:selected", this).text();
        // 消費税額取得
        let tax = $("option:selected", this).data('tax');    // 8
    }
})

for(let i = 1; i <= 6; i  ){
    // 消費税額
    let tax_temp = $("option:selected","#tax"   i).data('tax');  // 8
    console.log(tax_temp);
}

#html data #selected option

0 人点赞