Html表+ JSON响应+选择框

时间:2014-01-15 12:29:32

标签: jquery html json

以下是我的选择框

<select id="ProductCode" style="border: 1px solid #CCCCCC; border-radius: 4px 4px 4px 4px;" name="ProductCode">
   <option value="1">Product Description 1 - Box</option>
   <option value="2">Product Description 2 - Carton</option>
   <option value="3">Product Description 3 - Bottle</option>
   <option value="4">Product Description 4 - Cylinder</option>
</select>

我有一张桌子,我需要用JSON响应来填充它 下面是Json

[{"RQST_KEY":"1844","EFT_RQST_ID":"1845","EFT_CODE":null,"EFT_DATE":"14-JAN-14","EXPECTED_DATE":"07-JAN-14","EFT_REQUESTOR":"Tecnics2","EFT_STATUS":"NEW","EFT_SUPPLIER":"Tecnics2","DELIVERY_LOCN":"1","REMARKS":"kk","APPROVE_FLAG":null,"LINE_NUMBER":"1846","PRODUCT_CODE":"2","UOM":null,"ORDER_QTY":"90"}]

一切都很好,我可以从JSON获得产品代码的值“2”,这是我选择框中的第二个选项。如果我将其插入到我的表中,显然它将显示为“2”,但我需要将“Product Description 2 - Carton”文本插入表格单元格。

JS

for (var i=0; i<result.length ;i++) {

                html += '<tr id="tr-'+tblcounter+'"><td>'
                           + result[i].PRODUCT_CODE
                           + '</td><td class="class1">'
                           + result[i].ORDER_QTY
                           + '</td><td><a href="#" onClick="editRow(this);"><img src="<?php echo $this->baseUrl(); ?>/images/edit_icon.jpg" height="20px" width="20px"></a>'
                           + '</td><td><a href="#" onClick="deleteRow(this);"><img src="<?php echo $this->baseUrl(); ?>/images/delete_icon.jpg" height="16px" width="16px"></a>'
                           + '</td></tr>';
                   tblcounter++;
              }

              $('#rqstLines').append(html);

结果是AJAX调用的响应。那么如何从JSON响应中将选项文本插入到td中。谢谢

1 个答案:

答案 0 :(得分:1)

您可以按照以下值从选择框中获取文字:

$("#ProductCode option[value=2]").text();

所以你的最终代码看起来像这样:

var selectValue = $("#ProductCode option[value=" + result[i].PRODUCT_CODE + "]").text();
html += '<tr id="tr-'+tblcounter+'"><td>'
           + selectValue 
           + '</td><td class="class1">'
           + result[i].ORDER_QTY
           + '</td><td><a href="#" onClick="editRow(this);"><img src="<?php echo $this->baseUrl(); ?>/images/edit_icon.jpg" height="20px" width="20px"></a>'
           + '</td><td><a href="#" onClick="deleteRow(this);"><img src="<?php echo $this->baseUrl(); ?>/images/delete_icon.jpg" height="16px" width="16px"></a>'
           + '</td></tr>';

更新:Fiddle Added to prove out code concept