0

私はアフィリエイトプログラムを設計しています。このプログラムでは、各ユーザーが独自のリンクコード(別名トラッキングURL)を持っています。ドロップダウンの選択に応じて、ランディングページが異なるパラメータを追加します。

例:元のURL

http://www.google.com/tracker/blah1

ユーザーが下から値を選択した場合、URLは次のようになります。

http://www.google.com/tracker/blah1/queryid/1

このコードを使用して、読み取り専用に設定された入力ボックスにエンドユーザーにURLを表示しています。

<input size="100" type="text" value="<?=$url;?>" readonly> &nbsp;- &nbsp;<a  target="_blank" href="<?=$url;?>">Link</a></b>

このように2つのドロップダウンがあります。

<select name="niche">
<option value="0" label="choose one">choose one</option>
<option value="/queryid/1" label="option 1">option 1</option>
<option value="/queryid/2" label="option 2">option 2</option>
<option value="/queryid/3" label="option 3">option 3</option>
<option value="/queryid/4" label="option 4">option 4</option>
<option value="/queryid/5" label="option 5">option 5</option>
<option value="/queryid/6" label="option 6">option 6</option>
</select>

オプション1を選択すると、URLの最後に/ queryid/1が追加されます。何も選択されていない場合、変更はありません。

<select name="landingpage">
<option value="0" label="choose one">choose one</option>
<option value="/cid/1" label="landing 1">landing 1</option>
<option value="/cid/2" label="landing 2">landing 2</option>
</select>

ランディング1を選択すると、URLの末尾に/ cid/1が追加されます。何も選択されていない場合、変更はありません。

だから私はこれをどのように行うのですか?

御時間ありがとうございます。

update:現在htaccess書き換えルールを使用しているようにドロップダウンの値を更新しました。

更新: 「RishiPhp」デモで指定されているとおりに使用していますhttp://jsfiddle.net/g6U4a/2/

ただし、デフォルトではSourceUrlは表示されませんが、 デフォルトではボックスにソースURLが表示されますが、ユーザーがドロップダウン値を変更すると表示されます。どうすればこれを達成できますか?

更新: 「RishiPhp」は、ロード時のデフォルトURLの問題を修正しました。これがコードです。http://jsfiddle.net/g6U4a/3/ 皆さん、ありがとうございました。

これをヘッダーに追加することを忘れないでください

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

交換済み

var SourceUrl = "http://www.google.com/?tracker=blah1";

var SourceUrl = "<?=$url;?>";

したがって、各アフィリエイトには固有のリンクがあります

4

5 に答える 5

2

これを試してください...それは役に立ちます。*更新された作業デモ*

var SourceUrl = "http://www.google.com/?tracker=blah1";
var queryUrl = "";
var landingUrl = "";
$(function() {
  $('#querySelct').on('change', function () {
      if($(this).val() == 0) {
         queryUrl = "";
      } else {
          queryUrl = $(this).val();
      }
      MakeUrl();
      return false;
  });

    $('#landingSelect').on('change', function () {
      if($(this).val() == 0) {
         landingUrl = "";
      } else {
         landingUrl = $(this).val();
      }
     MakeUrl();
     return false;
  });
});

function MakeUrl() {
    var finalUrl = SourceUrl + queryUrl + landingUrl;
   $('#urlBox').val(finalUrl);
  $('#MyLink').attr('href', finalUrl);
}
于 2013-03-26T07:17:04.423 に答える
1

getElementByIdを使用して、フィールドから値を取得し、<select>それらをテキストフィールドに設定できます。

デモ:http: //jsfiddle.net/g6U4a/1/

HTML

<select id="queryid">
<option value="0" label="choose one">choose one</option>
<option value="&queryid=1" label="option 1">option 1</option>
<option value="&queryid=2" label="option 2">option 2</option>
<option value="&queryid=3" label="option 3">option 3</option>
<option value="&queryid=4" label="option 4">option 4</option>
<option value="&queryid=5" label="option 5">option 5</option>
<option value="&queryid=6" label="option 6">option 6</option>  
</select>

<br>

<select id="cid" name="landingpage">
<option value="0" label="choose one">choose one</option>
<option value="&cid=1" label="landing 1">landing 1</option>
<option value="&cid=2" label="landing 2">landing 2</option>
</select>

<input type="button" id="change" value="Create URL" onclick="createUrl()" /><br>

<input type="text" id="result" placeholder="placeholder" readonly><br>

JAVASCRIPT

function createUrl() {
    var google = "http://www.google.com/";
    document.getElementById("result").value = google + document.getElementById("queryid").value +  document.getElementById("cid").value;
}
于 2013-03-26T05:50:08.803 に答える
0

あなたはこのようなことをすることができます:

<select id="yourSelect" name="landingpage">
<option value="" label="choose one">choose one</option>
<option value="www.yourdomain.com&cid=1" label="landing 1">landing 1</option>
<option value="www.yourdomain.com&cid=2" label="landing 2">landing 2</option>
</select>


$(function(){
  $('#yourSelect').on('change', function () {
      var url = $(this).val();
      if (url) {
          window.location = url;
      }
      return false;
  });
});
于 2013-03-26T04:10:26.387 に答える
0

次のようなselectboxのセレクターを指定します

var urlToAppend1=$('#nicheId :selected').val();

originalurl='http://www.google.com/?tracker=blah1';
var url='';
url+=originalurl;
url+=urlToAppend;
于 2013-03-26T04:23:23.147 に答える
0

それを試してみてください。

$(function(){
        $('select').change(function() {

            var arr = new Array();
            $('select option:selected').each(function(){
                var value = $(this).val();
                if(value != "0"){
                    arr.push($(this).val());
                }
            });
            // selected value are now concatenating here.
            var str = arr.join('');
            alert(str);
        });

    });
于 2013-03-26T04:42:10.117 に答える