簡體   English   中英

如何在javascript(jquery中獲取並替換它?

[英]How can I get and replace this in javascript ( jquery?

我需要操作如下所示的鏈接href:

/代理商/視圖/型號:會員/ ag_start_dateMonth:08 / ag_start_dateYear:2012 / ag_end_dateMonth:08 / ag_end_dateYear:2012

我需要抓住這一部分: ag_start_dateMonth並將值08替換為用戶通過表單選擇的值。

這意味着,我需要找到模式ag_start_dateMonth在字符串中的ag_start_dateMonth並在:和next /之前查找值,並將其替換為用戶通過表單選擇選項提供的新值。

我怎樣才能做到這一點? 請指教,我不確定regex語法:-/

使用replace

var s = '/agents/view/model:Member/ag_start_dateMonth:08/ag_start_dateYear:2012/ag_end_dateMonth:08/ag_end_dateYear:2012';
var selected = 10;
s = s.replace(/(ag_start_dateMonth:)([0-9]+)/, '$1' + selected);

這個方便的正則表達式維護兩個匹配的組:一個可能稱為靜態的組,另一個會包含要替換的日期。

這應該可以幫助您:

var s = '/agents/view/model:Member/ag_start_dateMonth:08/ag_start_dateYear:2012/' +
        'ag_end_dateMonth:08/ag_end_dateYear:2012';
var newText = 'foo';

alert(s.replace(/(ag_start_dateMonth:)08(\/)/, '$1' + newText + '$2'));

如果此輸入來自頁面上的表單,則始終可以“重建” href,而不是搜索和替換。 假設您有一個表單是從頁面上獲取這些值的,而使用jQuery則很簡單,例如

jQuery('#id-of-form button').click( function () {
    var start_month = jQuery('#id-of-form select.start-month').val();
    var start_year = jQuery('#id-of-form select.start-year').val();
    var end_month = jQuery('#id-of-form select.end-month').val();
    var end_year = jQuery('#id-of-form select.end-year').val();
    jQuery(a#your-link-id).attr('href','/agents/view/model:Member/ag_start_dateMonth:' +
         start_month + '/ag_startdateYear:' + start_year + "/ag_end_dateMonth:" +
         end_month + '/ag_end_dateYear:' + end_year);
});

暫無
暫無

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

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