Пустое текстовое поле с помощью JQuery

Я могу скрыть 'TR', когда 'Удаляют', нажат. со следующим кодом.

$("a#minus").bind("click", function(e){
    $(this).closest('tr').hide();
});

Но я также хочу очистить содержание этих 2 текстовых полей (идентификатор текстового поля динамичный [frm_Expense_expensesVO ___ strAmount и заметка frm_Expense_expensesVO ___] здесь '*' идут от 1 до бесконечности). Помогите.Спасибо

<table>
<tr>
    <td>
        Amount
    </td>
    <td>
        Memo
    </td>
    <td>    
        &nbsp;
    </td>
</tr>
<tr>
    <td>
        <input type="text" name="expensesVO[0].strAmount" value="2.30" id="frm_Expense_expensesVO_0__strAmount"/>
    </td>
    <td>
        <input type="text" name="expensesVO[0].memo" value="Five" id="frm_Expense_expensesVO_0__memo"/>
    </td>
    <td>
        <a id="minus" href="#">Remove</a>
    </td>
</tr>
<tr>
    <td>
        <input type="text" name="expensesVO[1].strAmount" value="3.45" id="frm_Expense_expensesVO_1__strAmount"/>
    </td>
    <td>
        <input type="text" name="expensesVO[1].memo" value="Six" id="frm_Expense_expensesVO_1__memo"/>
    </td>
    <td>
        <a id="minus" href="#">Remove</a>
    </td>
</tr>
<tr>
    <td>
        <input type="text" name="expensesVO[2].strAmount" value="" id="frm_Expense_expensesVO_2__strAmount"/>
    </td>
    <td>
        <input type="text" name="expensesVO[2].memo" value="" id="frm_Expense_expensesVO_2__memo"/>
    </td>
    <td>
        <input type="submit" id="frm_Expense_ExpenseAdd_plus" name="action:ExpenseAdd_plus" value="+"/>
    </td>
</tr>
<tr>
    <td>    
        <label id="frm_Expense_transactionVO_amount">5.75</label>
    </td>
    <td align="right">
        <input type="submit" id="frm_Expense_Cancel" name="action:ExpenseAdd_cancel" value="Cancel"/>
    </td>
    <td align="left">
        <input type="submit" id="frm_Expense_Save" name="action:ExpenseAdd_save" value="Save"/>
    </td>
</tr>

6
задан Anand Rockzz 18 January 2010 в 04:35
поделиться

4 ответа

$("a#minus").bind("click", function(e){
    $(this).closest('tr').hide().find('input:text').val('');
});

Примечание: также см. Ответ Дармена на том, почему селектор A # минус не будет работать по желанию.

17
ответ дан 8 December 2019 в 04:52
поделиться

Вы должны указать класс к анкерам. Привязка на одном идентификаторе поднимет событие для последнего.

Пример:

$("a.remove").live('click', function(){
   $(this).closest('tr').hide().find("input").val("");
});
7
ответ дан 8 December 2019 в 04:52
поделиться

Используйте атрибут class и выберите два текстовых поля с помощью этого className. Затем можно установить значение этой коллекции на нулевую строку.

0
ответ дан 8 December 2019 в 04:52
поделиться

- это ближе всего определяется в ядре jQuery или плагине?

в любом случае, вы можете получить все текстовые поля в этом TR, а затем сделать совпадение REGEX. Это должно устанавливать только текстовые поля, которые соответствуют упомянутому ID в вашем вопросе.

$("a#minus").bind("click", function(e){
    var row = $(this).closest('tr');
    $("input:text", row).each(function(item) {
        var id = item.id;
        if(/frm_Expense_expensesVO_[0-9]+__strAmount/.test(id)) {
            $(item).val('');
        }
        else if(/frm_Expense_expensesVO_[0-9]+__memo/.test(id)) {
            $(item).val('');
        }
    });
    row.hide();
});
0
ответ дан 8 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: