jQuery获取特定的选项标签文本并将动态变量放置在值中

Posted

技术标签:

【中文标题】jQuery获取特定的选项标签文本并将动态变量放置在值中【英文标题】:jQuery get specific option tag text and placing dynamic variable to the value 【发布时间】:2012-08-21 13:51:55 【问题描述】:
$('#NameDropdown').change(function()

                    $.ajax(
                    type: "POST",
                    dataType: "json",
                    url: "http://localhost:8081/crownregency/getInfoUser.php",
                    data: id: $('#NameDropdown').val(), checker: 1, // 1 is to get user info
                    success:function(data)

                    $temp = data['Type'];
                    $get = $("#UserTypeDropdown option[value = '$temp']").text();
                    $('#UserType').attr('value', $get);
                               
            );
        );

关于将返回的变量从 ajax 放置到值时,我遇到了问题。 $get = $("#UserTypeDropdown option[value = '$temp']").text();我该如何解决这个问题?请帮助..这个问题连接到:jQuery get specific option tag text

【问题讨论】:

【参考方案1】:

改变这个:

$get = $("#UserTypeDropdown option[value = '$temp']").text();

收件人:

$get = $("#UserTypeDropdown option[value='"+$temp+"']").text();

您也可以使用filter 方法:

$("#UserTypeDropdown option").filter(function() 
     return this.value === $temp;
).text();

【讨论】:

@Vohuman 感谢您的解决方案,是否可以更改选择器或找到另一种方法来避免连接字符串来制作选择器。 @Vohuman +1,谢谢。对我来说,这段代码似乎好多了!但是考虑到性能,您认为第一种方法比使用过滤器更快吗?! @AlirezaFattahi 欢迎您!我也更喜欢filter 方法。如果性能是关键,那么首先应该避免使用 jQuery。您可以选择select 元素并使用简单的for 循环过滤匹配的option。这些代码 sn-ps 的性能差异可以忽略不计。如果你想测试它们:jsperf.com【参考方案2】:

不妨试试这个:

$get = $("#UserTypeDropdown option[value = '" + $temp + "']").text();

【讨论】:

以上是关于jQuery获取特定的选项标签文本并将动态变量放置在值中的主要内容,如果未能解决你的问题,请参考以下文章

将数据从数据库添加到文本框 - Jquery

从html标签jquery获取特定文本[重复]

JS jQuery on change获取选择选项标签的innerHTML

拖放一个子节点

在选择文本选项中突出显示特定文本的颜色

用jquery怎么获取页面的特定内容