You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于jQuery动态依赖下拉框,如何获取选中国家的名称?

获取下拉选中项文本内容的解决方案

嘿,我懂你的困扰——你能拿到选中国家的ID,但一直没法获取对应的名称,之前用attr("name")的思路其实走偏啦。

正确的实现方式:定位选中的<option>获取文本

要拿到选中项的名称,你需要定位到当前<select>里被选中的<option>元素,再提取它的文本内容。jQuery里有现成的简洁写法:

var country_name = $(this).find("option:selected").text();

结合你的代码修改示例

把这段代码加到你的#country的change事件里就行:

$(document).on('change', '#country', function(){
    var country_id = $(this).val();
    // 新增:获取选中国家的名称
    var country_name = $(this).find("option:selected").text();
    // 可以先打印测试效果
    console.log("选中的国家名称:" + country_name);
    
    if(country_id != '') {
        load_json_data('state', country_id);
    } else {
        $('#state').html('<option value="">Select state</option>');
        $('#city').html('<option value="">Select city</option>');
    }
});

为什么之前的方法无效?

你之前尝试的$(this).attr("name"),获取的是<select id="country" name="country">这个标签本身的name属性值(也就是字符串"country"),根本不是选中选项的文本内容,所以自然得不到想要的国家名称。

另外还有一种等效写法,效果完全一致:

var country_name = $(this).children("option:selected").text();

内容的提问来源于stack exchange,提问作者Gabriele k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:24:17