onchange dropdown将参数添加到inputbox中的url

时间:2013-03-26 04:01:06

标签: javascript html javascript-events

我正在设计联盟计划,其中每个用户都有自己的链接代码,也就是跟踪网址。 我愿意为它添加额外的参数,具体取决于下拉选项,这将是不同的目标网页。

e.g。 原始网址

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

如果用户从down中选择值,则url应该像

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

我正在使用此代码在设置为readonly的输入框中向最终用户显示网址。

<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 添加到网址的末尾。 如果没有被选中,则不会有任何变化。

<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 会将 / cid / 1 添加到网址的末尾。 如果没有被选中,则不会有任何变化。

所以我该怎么做?

感谢您的时间。

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

更新 我按照“Rishi Php”的说明使用演示http://jsfiddle.net/g6U4a/2/

但默认情况下它没有显示 SourceUrl 默认情况下,它应该在框中显示源URL,但是当用户更改下拉值时它会显示它。 我怎么能实现这个?

更新 “Rishi Php”修复了on load default 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;?>";

所以每个会员都会有独特的链接

5 个答案:

答案 0 :(得分:2)

您可以使用getElementById从<select>字段中获取值并将其设置为文本字段。

DEMO: 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;
}

答案 1 :(得分:2)

试试这个...它会有所帮助。的 *UPDATED WORKING DEMO *

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);
}

答案 2 :(得分: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;
  });
});

答案 3 :(得分:0)

为选择框提供选择器,如

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

originalurl='http://www.google.com/?tracker=blah1';
var url='';
url+=originalurl;
url+=urlToAppend;

答案 4 :(得分: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);
        });

    });