Невозможно получить входное значение из таблицы - PullRequest
0 голосов
/ 09 марта 2012

У меня есть таблица, заполненная таким образом (я использую плагин griQ 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 голосов
/ 09 марта 2012

Вы можете сделать что-то вроде

Получить значение:

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/

...