链接到所选选项的选择

时间:2013-10-30 02:50:14

标签: javascript jquery html

我在联系页面中有一个表单,三个链接假设一个,两个和三个在主页中,我想链接到每个链接的联系页面,但有一个选项是选择一个,有两个选项是被选中两个等等。

<select id="message_type" name="message_type" class="inputbox">
    <option value="one">Suggestion</option>
    <option value="two">Inquiry</option>
    <option value="three">Offer</option>
</select>

单击链接一时,联系页面应显示选择的选项等。

我该怎么做?


修改

我在主页上有三个链接

<a href="contact.php" id="one">one</a>
<a href="contact.php" id="two">two</a>
<a href="contact.php" id="three">three</a>

现在我想显示联系页面,其中选项为链接1选择一个,依此类推......


这是产生选择

的代码
<?php 
function dropdown($active){
$dropdown=array(
                'option1'=>'Suggestion','option2'=>'Inquiry','option3'=>'Offers'
                );

foreach($dropdown as $key=>$val){
$array[]=JHtml::_('select.option',$val,$key);
}
$dropdown  = JHtml::_('select.genericlist',$array,'message_type','class="inputbox"','text','value',$active);
return $dropdown;
}
?>

,格式为

<form name="feedback" id="frmfeedback" action=""  method="post" >
<div>
<label for="msg">Message Type: </label><span class="input"><?php echo dropdown(isset($post['message_type'])?$post['message_type']:'');?> </span>
</div>
.......

2 个答案:

答案 0 :(得分:1)

可以在主页上的链接中添加哈希值:

<a href="contact.html#one">Make a Suggestion</a>

然后在联系页面上:

$(function(){
    var opts=['one','two','three'];
    var hash =location.hash;// use browser location object to get hash
    if(hash && hash !='#'){
      hash= hash.replace('#','');
      /* get index of hash from array*/
      var optIndex= $.inArray(hash,opts);
       /* if not in array value will be empty string, otherwise value of hash*/
      $('#message_type').val( optIndx !=-1 ? hash : '' );
    }
});

编辑:如果ID与链接上的值相同,如问题所示

可以使用以下命令将哈希附加到主页上的href:

$('#one,#two,#three').attr('href',function(idx, oldHref){
     return oldHref +'#' + this.id;
});

编辑:在网址的查询字符串中使用itemId

$(function(){
     var opts=['477','478','479']; /* not sure these are accurate*/
    var a = document.createElement('a');
    a.href = location.href;
    var ret = {},
        seg = a.search.replace(/^\?/, '').split('&'),
        len = seg.length,
        i = 0,
        s;
    for (; i < len; i++) {
        if (!seg[i]) {
            continue;
        }
        s = seg[i].split('=');
        ret[s[0]] = s[1];
    }
    var currVal=ret['itemId'];
    if( currVal !=undefined && $.inArray(currVal,opts)>-i){
        $('#message_type').val( currVal);
    }

})

答案 1 :(得分:0)

针对不同的网页

var url= document.URL;
switch(url)
{
    case 'http://jsfiddle.net/bs8dp/':
        $('#message_type').val('one');
        break;

     case 'http://jsfiddle.net/bs66p/':
        $('#message_type').val('one');
        break;

     default:
           $('#message_type').val('two');



}

jsfiddle

OR

如果您在同一页面中有选项,那么

('#your_tab_one').click(function(){

   $('#message_type').val('one');

});

('#your_tab_two').click(function(){

   $('#message_type').val('two');

});

('#your_tab_three').click(function(){

   $('#message_type').val('three');

});