我正在構建一個基於用戶在頁面上操作的單選按鈕組的哈希。爲確保只有相關信息包含在URL中,我想排除仍然設置爲默認值的字段。我覺得jQuery序列化和一點正則表達式會更有效率,而不是循環遍歷字段。 但是,此正則表達式會在結果散列中留下最後一個默認值。我試過的其他變體刪除了太多或太少的&符號。任何人都可以提出一種模式,將字段設置爲默認值,而不管它們在哈希中的位置如何?從jQuery結果中刪除默認值使用正則表達式序列化
以下是HTML和JavaScript(帶正則表達式)的示例。有大約在整頁十幾切換組,他們將有標籤等
function action() {
console.log($('#formId').serialize().replace(/toggle(\d*)=default(&:?)/g, ''));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="formId">
<input type="radio" id="toggle4on" name="toggle4" value="on">
<input type="radio" id="toggle4off" name="toggle4" value="off">
<input type="radio" id="toggle4default" name="toggle4" value="default">
<br>
<input type="radio" id="toggle5on" name="toggle5" value="on">
<input type="radio" id="toggle5off" name="toggle5" value="off">
<input type="radio" id="toggle5default" name="toggle5" value="default">
</form>
<button onclick="action()">Show</button>
是的,別人寫了onclick。 :) –
我強烈推薦閱讀[解耦您的HTML,CSS和JavaScript - Philip Walton @ Google](https://philipwalton.com/articles/decoupling-html-css-and-javascript/) –
其他人編輯我的代碼在這裏。我不會這樣寫它的方式。 –