我正在设计联盟计划,其中每个用户都有自己的链接代码,也就是跟踪网址。 我愿意为它添加额外的参数,具体取决于下拉选项,这将是不同的目标网页。
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> - <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;?>";
所以每个会员都会有独特的链接
答案 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);
});
});