簡體   English   中英

HTML表單單選按鈕以使用jQuery單擊提交或隱藏

[英]HTML form radio button to submit or hide on click with jquery

我正在嘗試使用jquery來提交或隱藏,具體取決於單擊的單選按鈕。 我正在將值提交給mysql。 單選按鈕位於tr中。 如果我以表單的形式包含一個提交按鈕,則可以成功地用該值更新mysql。

<tr>
    <form name="MyStatusForm" id="MyStatusForm" method="post" action="update.php">
        <td class="statuscolumn">
            <input name='status' type='radio' value='1' />
            <label for="new">New</label>
            <input name='status' type='radio' value='2' />
            <label for="accept">Accept</label>
            <input name='status' type='radio' value='3' />
            <label for="resolve">Resolve</label>
        </td>
    </form>
</tr>

我的腳本查找單選按鈕的值,以確定要采取的操作。

$('input[type=radio]').click(function () {
    var $closestTR = $(this).closest('tr');
    var $closestForm = $(this).closest('form');
    if (this.value == '1') || (this.value == '2') {
        $closestForm.submit();
    }
    if (this.value == '3') {
        var ok = confirm("some message?");
        if (ok == true) {
            $closestTR.hide("slow");
        } else {
            return;
        }
    }
});

皮革很好用。 只是提交無效。 單擊單選按鈕並且沒有更新mysql時沒有響應。

謝謝你的幫助

工作演示

更正的標記

的HTML

<table>
    <tr>
        <td class="statuscolumn">
            <form>
                <input name='status' type='radio' value='1' />
                <label for="new">New</label>
                <input name='status' type='radio' value='2' />
                <label for="accept">Accept</label>
                <input name='status' type='radio' value='3' />
                <label for="resolve">Resolve</label>
            </form>
        </td>
    </tr>
</table>

js

$('input[type="radio"][name="status"]').click(function () {
    var $closestTR = $(this).parents('tr');
    $closestForm = $(this).parents('form');
    if (($(this).attr('value') == '1') || ($(this).attr('value') == '2')) {
        $closestForm.submit();
    }
    if (this.value == '3') {
        var ok = confirm("some message?");
        console.log(ok);
        if (ok == true) {
            $closestTR.hide();
        } else {
            return;
        }
    }
});

您的if中有語法錯誤,應為

if ((this.value == '1') || (this.value == '2'))

另外,不要忘記按照@adeneo的建議修復標記

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM