javascript - 将 JSON 添加到选项值

标签 javascript php jquery ajax json

我使用 PHP 已有一段时间了。我刚刚开始学习如何使用 JSON。

我能够创建一个返回 JSON 的 PHP 文件。在我的主文件中,我引用了 PHP 文件并获取了 JSON 对象。

我可以像这样在下拉选择菜单中显示对象:

 $.getJSON( "folder/services.php", function( data )
 {
   $.each(data, function(index, item)
   {
     $('#service').append($("<option>" + item.SERVICE + "</option>"));
   });
 });

上面的代码工作正常。我可以在下拉选择选项中显示服务值。

我想弄清楚的是如何将 SERVICE 放入 OPTION 的 VALUE 中。我希望我说的是对的。

通常,OPTION 标记如下所示:

 <option value="SERVICE_A">Service A</option>
 <option value="SERVICE_B">Service B</option>
 ...

但由于我使用的是 JSON,所以我不确定如何将值放入选项中。

我试图在 JQuery 中使用 PHP,但没有成功。我将向您展示我的尝试:

 $('#service').append($("<option value='".+ item.SERVICE +."'>" + item.SERVICE + "</option>"));

****** 编辑 ******

我尝试了下面 LShetty 提交的这段代码:

 $.getJSON( "folder/services.php", function( data )
 {
   var strToAppend = "";
   $.each(data, function(index, item)
   {
     strToAppend += $("<option/>",
     {
       'value': item.SERVICE,
       'text': item.SERVICE
     });
   });
   $('#service').append(strToAppend);
 });

我对这段代码一无所知。有人看到我做错了什么吗?

最佳答案

您走在正确的轨道上。不要尝试使用 .不过,对于 JS 中的连接;这是一个PHP的事情。和 .+不适用于任何一种语言。

一种更安全、更 jQuery 风格的方法(当 "'< 等出现在 SERVICE 值中时,它会起作用):

$('<option>').
  attr('value', item.SERVICE).
  text(item.SERVICE).
  appendTo($('#service'));

关于javascript - 将 JSON 添加到选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27318175/

相关文章:

jQuery + Fluid Images Chrome Bug

javascript - 将 n 层嵌套对象转换为数组

php - 无法使用登录功能

javascript - 检测父div内子div的类,然后将class或id添加到父div

javascript - 将两个 Canvas 合并在一起

javascript - IE 中的 getElementById.contentDocument 错误

php - 使用 Node.js 在 PHP 应用程序中显示消息的实时通知

php - 从 PHP 返回两个 2 json 对象

jquery - 将 CSS 不透明度应用于下拉菜单

javascript - Jest/ enzyme |测试中未定义 Redux Prop