如何在Javascript中获取数据标记器属性中的选定值?

如何在Javascript中获取数据标记器属性中的选定值?,javascript,jquery,Javascript,Jquery,我有一个名为“Bug category”的下拉列表字段,其中包括四个选项: 软件、硬件、工具、文档。 我的HTML: 我想根据bug category字段的不同选择更改表单。如何获取数据标记器属性中选定选项的值 我的Javascript代码: alert("value is:"+ $(this).attr('data-tagger').val()); // doesn't work alert("value is:"+ $(this).attr('data-tagger')); //shows

我有一个名为“Bug category”的下拉列表字段,其中包括四个选项: 软件、硬件、工具、文档。 我的HTML:

我想根据bug category字段的不同选择更改表单。如何获取数据标记器属性中选定选项的值

我的Javascript代码:

alert("value is:"+ $(this).attr('data-tagger').val()); // doesn't work
alert("value is:"+ $(this).attr('data-tagger')); //shows "Undefined" when I select option
编辑:

 var bug_category = $('input#request_custom_fields_25376063').parent();

 bug_category.on('change',function(){
    alert("value is:"+  $(this).find(':selected').data('tagger')); // return null
    });
更多脚本代码:

25375983-每种数字表示表单中的一个字段

这段代码是从一个应用程序生成的,它允许我根据“bug_category”字段的不同选择显示不同的字段

var cfaRules=[
{“fieldType”:“tagger”,“field”:25376063,“value”:“bug_documentation”,“select”:[253759832439484855253760232547062544746254746547662544854625462546254486254485448544854485448544854485454485448544854485448546254963],“formId”:240243,“requireds”:[25375959632537454706254766],{“fieldType”:“tagger”,“field”:“bug_tools”,“select”:”[254544625445476625454854806254482625454706253765230232537598325375932439948524342549],“formId”:240243,“requireds”:[25375932545470625446254547766],{“fieldType”:“tagger”,“field”:25376063,“value”:“hardware”,“select”:[243425492434924399485253759253759983253254547062544625465476625445485426],“formId”:240243,“requireds”:”:[24342549243994852545470625454766],{“字段类型”:“标记器”,“字段”:25376063,“值”:“软件”,“选择”:[254547062434254924399485253759632537599832537602325454746254548806254476625454826],“formId”:240243,“所需”:[243994852537602454706254545454826]。]
用于获取
数据
标记的值

alert($(this).data('tagger'));

更新

如果我正确理解了真正的问题,你想要的应该是这样的

//使用.data()获取div隐藏输入上的类别
变量类别=$('div')。查找('input')。数据('tagger');
//将每个类别附加到选择标记
//例如,使用方法,因为它还会自动神奇地将值解析为正确的类型

var值=$('input')。数据('tagger');
console.log(值的类型);
console.log(值);


显示更多代码上下文。我们不知道这是什么,因为您没有显示调用这些警报的位置。另请参见,html中的
数据标记器
属性在哪里?我看不到there@DelightedD0D滚动到right@charlietfl事实上,我滚动到了itHi@charlietfl,编辑了我的文章('data-tagger')
不起作用,那么
$(this.data('tagger'))也不会起作用
。也请在回答中提供适当的解释。这一点说得很好。抱歉,我错过了。他的选择器可能有问题。@JenniferZou您需要提供更多的代码上下文,以便任何人真正理解help@JenniferZou请检查编辑后的答案。如果仍然不符合您的实际需要。请提供更多您的代码f或者让我们真正了解它的工作原理:)仍然没有解释为什么attr()返回未定义的值这不是问题。问题显然是如何在Javascript中获取数据标记器属性中的选定值,我的答案显然有效。同意您关于使用data()的说法,但如果attr()不返回任何值,data()也不会返回任何值。问题可能在于
这个
是什么意思,这也是我投票支持你的第一条评论的原因。一旦确定了
$(这个)
不起作用的原因,正确的解决方案仍然是使用
数据()
不管怎样。@ErikPhilips,我编辑了我的文章。代码仍然返回null。我不确定如何在数据标记器中获取所选标签值。
 var bug_category = $('input#request_custom_fields_25376063').parent();

 bug_category.on('change',function(){
    alert("value is:"+  $(this).find(':selected').data('tagger')); // return null
    });
<script>var cfaRules = [
{"fieldType":"tagger","field":25376063,"value":"bug_documentation","select":[25375983,24342549,24399485,25376023,25454706,25454746,25454766,25454806,25454826,25375963],"formId":240243,"requireds":[25375963,25454706,25454766]},{"fieldType":"tagger","field":25376063,"value":"bug_tools","select":[25454746,25454766,25454806,25454826,25454706,25376023,25375983,25375963,24399485,24342549],"formId":240243,"requireds":[25375983,25454706,25454746,25454766]},{"fieldType":"tagger","field":25376063,"value":"hardware","select":[24342549,24399485,25375963,25375983,25376023,25454706,25454746,25454766,25454806,25454826],"formId":240243,"requireds":[24342549,24399485,25454706,25454766]},{"fieldType":"tagger","field":25376063,"value":"software","select":[25454706,24342549,24399485,25375963,25375983,25376023,25454746,25454806,25454766,25454826],"formId":240243,"requireds":[24399485,25376023,25454706,25454766,25454826]}]</script>
alert($(this).data('tagger'));