0

我正在设计会员计划,其中每个用户都有自己的链接代码,也就是跟踪 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>

会有两个像这样的下拉菜单。

<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,它应该将/queryid/1添加到 url 的末尾。如果没有选择,则不会有任何更改。

<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>

通过选择landing 1会将/cid/1添加到url 的末尾。如果没有选择,则不会有任何更改。

那么我该怎么做呢?

谢谢你的时间。

更新:将下拉列表的值更新为当前使用 htaccess 重写规则。

更新: 我正在使用“Rishi Php”演示的指定在这里http://jsfiddle.net/g6U4a/2/

但默认情况下它不显示SourceUrl 它应该在默认情况下在框中显示源 url 但是当用户更改下拉值时它会显示它。我怎样才能做到这一点?

更新: “Rishi Php”修复了加载默认 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

试试看。

$(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 回答
0

为选择框提供选择器,例如

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

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