Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从更改时选择中检索值和数据属性_Javascript_Jquery - Fatal编程技术网

Javascript 从更改时选择中检索值和数据属性

Javascript 从更改时选择中检索值和数据属性,javascript,jquery,Javascript,Jquery,问题: 一个html页面,多个选择输入,包括: 相同的6个选项 同级 名为“data productId”的数据属性具有不同的值 当用户更改其中一个选择输入的值时,我希望检索所选值和属性值 例如: <select class="form-control tbl-sel-input" data-productId="some_value"> <option value="1">Option 1</option> <opt

问题: 一个html页面,多个选择输入,包括:

  • 相同的6个选项
  • 同级
  • 名为“data productId”的数据属性具有不同的值
当用户更改其中一个选择输入的值时,我希望检索所选值和属性值

例如:

<select class="form-control tbl-sel-input" data-productId="some_value">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
        <option value="4">Option 4</option>
        <option value="5">Option 5</option>
        <option value="6">Option 6</option>
</select>

设置
数据
属性的最佳实践是根据需要将它们保持为小写,并用连字符分隔。这是由于jQuery在其内部缓存中序列化它们的方式造成的,并且在从生成的缓存对象检索数据时,大写字母可能会导致不匹配

还要注意,
on()
的委托形式将字符串作为其第二个参数,而不是jQuery对象

考虑到这一点,请尝试以下方法:

$(document).on('change',“select.tbl sel input”,函数(){
var属性_值=$(此).data(“产品id”);
var input_value=$(this.val();
警报(属性_值+'-'+输入_值);
});

选择1
选择2
选择3
选择4
备选案文5
备选案文6

设置
数据
属性的最佳做法是根据需要将属性保持小写,并用连字符分隔。这是由于jQuery在其内部缓存中序列化它们的方式造成的,并且在从生成的缓存对象检索数据时,大写字母可能会导致不匹配

还要注意,
on()
的委托形式将字符串作为其第二个参数,而不是jQuery对象

考虑到这一点,请尝试以下方法:

$(document).on('change',“select.tbl sel input”,函数(){
var属性_值=$(此).data(“产品id”);
var input_value=$(this.val();
警报(属性_值+'-'+输入_值);
});

选择1
选择2
选择3
选择4
备选案文5
备选案文6

非常完美。。。先生,我想您刚才帮助了很多人。让我尽快把这个标记为正确的answer@IgorCarmagna很高兴帮忙:)太完美了。。。先生,我想您刚才帮助了很多人。让我尽快把这个标记为正确的answer@IgorCarmagna很乐意帮忙:)
var selectInTbl = $("select.tbl-sel-input");
$(document).on('change', selectInTbl, function(){
            var attribute_value= $(this).data("productId");
            var input_value = $(this).val();
            alert(attribute_value + '- '+ input_value);
});