Javascript jQuery中未定义JSON值

Javascript jQuery中未定义JSON值,javascript,jquery,json,Javascript,Jquery,Json,我有以下JSON: {"a":"111","b":"7"} 此外,我还有一个带有值(a和b)的选择框。我想当用户选择“a”时,它将从JSON中显示“111”,而选择“b”时,它将显示“7” 我编写了以下jQuery,但返回的JSON值未定义 <select id="selectbox" name="selectbox"> <option value="a" grouping="">A</option> <

我有以下JSON:

{"a":"111","b":"7"}
此外,我还有一个带有值(a和b)的选择框。我想当用户选择“a”时,它将从JSON中显示“111”,而选择“b”时,它将显示“7”

我编写了以下jQuery,但返回的JSON值未定义

<select id="selectbox" name="selectbox">
            <option value="a" grouping="">A</option>
            <option value="b" grouping="">B</option>
</select>
但是,“obj.optionvalue”未定义。

这有助于:
<select id="selectbox" name="selectbox">
            <option value="a" grouping="">A</option>
            <option value="b" grouping="">B</option>
</select>
首先,您必须将
{“病假”:“111”,“年假”:“7”}
替换为
{“a”:“111”,“b”:“7”}
,它具有您在javascript代码中使用的JSON结构。正如@Rory McCrossan在他的评论中所提到的,有必要将封装值的brakets与json中使用的brakets区分如下:
value='{“a”:“111”,“b”:“7”}'
由于optionvalue是一个变量,访问以optionvalue的le值作为键的json属性值的最正确方法是执行以下操作:
obj[optionvalue]
而不是
obj.optionvalue

<select id="selectbox" name="selectbox">
  <option value="a" grouping="">A</option>
  <option value="b" grouping="">B</option>
</select>
<input id="JSON" name="JSON" type="text" value='{"a":"111","b":"7"}'>

<script
  src="https://code.jquery.com/jquery-3.4.1.js"
  integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
  crossorigin="anonymous"></script>

  <script>
    $("select[name=selectbox]").on('change', function() {

      var obj = JSON.parse($('[name$=JSON]').val());
      var optionvalue = $("select[name=selectbox] option:selected").val();

      console.log(optionvalue,obj);
      console.log(obj[optionvalue]);
   });
    </script>

A.
B
$(“选择[name=selectbox]”)。在('change',function()上{
var obj=JSON.parse($('[name$=JSON]').val());
var optionvalue=$(“选择[name=selectbox]选项:选中”).val();
控制台日志(选项值,obj);
console.log(obj[optionvalue]);
});

提示:查看放置JSON的
value
属性中的引号。您的
obj
上没有名为
optionvalue
的属性。有关该问题的解决方案,请参阅。最好解释您的答案,而不仅仅是提供代码-否则OP不知道您在展示什么。感谢@Utkanos,对于您的评论,我在我的答案中添加了更多细节。
<select id="selectbox" name="selectbox">
  <option value="a" grouping="">A</option>
  <option value="b" grouping="">B</option>
</select>
<input id="JSON" name="JSON" type="text" value='{"a":"111","b":"7"}'>

<script
  src="https://code.jquery.com/jquery-3.4.1.js"
  integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
  crossorigin="anonymous"></script>

  <script>
    $("select[name=selectbox]").on('change', function() {

      var obj = JSON.parse($('[name$=JSON]').val());
      var optionvalue = $("select[name=selectbox] option:selected").val();

      console.log(optionvalue,obj);
      console.log(obj[optionvalue]);
   });
    </script>