无法从表中检索输入值

时间:2012-03-09 11:51:13

标签: jquery html-table

我有一个以这种方式填充的表(我正在使用grider jQuery插件):

<table border="0" id="table_reserved_price_list">
    <tbody>
        <tr class="noedit">
            <th class="testClass" col="cod_products">Codice Prodotto</th>
            <th class="testClass" col="products">Prodotto</th>
            <th class="testClass" col="cat_products">Categoria</th>
            <th class="testClass" col="brand">Brand</th>
            <th class="testClass" col="discount">Sconto Percentuale</th>                                            
        </tr>
        <tr>                                            
            <td>
                <input type="text" onchange="ajax_showOptions(this,'get_code_prod',event)" onkeyup="ajax_showOptions(this,'get_code_prod',event)" style="width:60px;" value="" class="input-small input_cod_products" name="input_cod_products[0]">
            </td>
            <td>
                <input type="text" onchange="ajax_showOptions(this,'get_code_prod',event)" onkeyup="ajax_showOptions(this,'get_prod',event)" style="width:60px;" value="" class="input-small" name="input_products[0]">
            </td>
            <td>
                <input type="text" onkeyup="ajax_showOptions2(this,'get_cat_prod',event)" style="width:60px;" value="" class="input-small" name="input_cat_products[0]">
            </td>
            <td>
                <input type="text" onkeyup="ajax_showOptions2(this,'get_brand_prod',event)" value="" class="input-small" name="input_brand[0]">
            </td>
            <td>
                <input type="text" style="width:10px;" value="" class="input-small" name="input_discount1[0]">
                -
                <input type="text" style="width:10px;" value="" class="input-small" name="input_discount2[0]">
                -
                <input type="text" style="width:10px;" value="" class="input-small" name="input_discount3[0]">
            </td>
            <td>
                <a class="addRow" href="#"><img width="12px" border="0" src="icons/add.png"></a> 
                <a class="delete" href="#"><img border="0" src="icons/delete.gif"></a>
            </td>
        </tr>
        <tr>                                            
            <td>
                <input type="text" onchange="ajax_showOptions(this,'get_code_prod',event)" onkeyup="ajax_showOptions(this,'get_code_prod',event)" style="width: 60px;" value="" class="input-small input_cod_products" name="input_cod_products[1]">
            </td>
            <td>
                <input type="text" onchange="ajax_showOptions(this,'get_code_prod',event)" onkeyup="ajax_showOptions(this,'get_prod',event)" style="width: 60px;" value="" class="input-small" name="input_products[1]">
            </td>
            <td>
                <input type="text" onkeyup="ajax_showOptions2(this,'get_cat_prod',event)" style="width: 60px;" value="" class="input-small" name="input_cat_products[1]">
            </td>
            <td>
                <input type="text" onkeyup="ajax_showOptions2(this,'get_brand_prod',event)" value="" class="input-small" name="input_brand[1]">
            </td>
            <td>
                <input type="text" style="width: 10px;" value="" class="input-small" name="input_discount1[1]">
                -
                <input type="text" style="width: 10px;" value="" class="input-small" name="input_discount2[1]">
                -
                <input type="text" style="width: 10px;" value="" class="input-small" name="input_discount3[1]">
            </td>
            <td>
                <a class="addRow" href="#"><img width="12px" border="0" src="icons/add.png"></a>
                <a class="delete" href="#"><img border="0" src="icons/delete.gif"></a>
            </td>
        </tr>                                        
    </tbody>
</table>

我已经创建了一个脚本来检索值(在这种情况下是产品的代码),然后将其放在另一个输入元素中(在这种情况下是产品的名称)

if (!inputObj)
    inputObj=this;  

var tmpValue = inputObj.innerHTML;

if (ajax_list_MSIE)
    tmpValue = inputObj.innerText;
else
    tmpValue = inputObj.textContent;

if (!tmpValue)
    tmpValue = inputObj.innerHTML;

ajax_list_activeInput.value = tmpValue;

if (!isNaN(tmpValue)) {
    //We retrive the code and then put the product name                
    var url = ajax_list_externalFile + '?get_prod_name' + '=1&letters=' + tmpValue;
    var title = "";
    $.post(url, {
        title: title
    },
    function(data){
        $('[name=input_products\\[0\\]]').val(data);
    });  
}

不幸的是,我无法从第二行获取名称,它只从第一行获取值。你能救我吗?

1 个答案:

答案 0 :(得分:0)

您可以执行类似

的操作

检索值:

jQuery('[name^=input_products]').each(function () {
  console.log($(this).val()); //Prints value for each input
});

设定值

jQuery('[name^=input_products]').each(function () {
  $(this).val("abc!");
});

将选择名称以“input_products ...”

开头的所有元素

请参阅文档http://api.jquery.com/category/selectors/