js根据选项选择更改选择名称

时间:2013-12-20 10:34:40

标签: javascript php html

我有一个动态下拉菜单,其中选项从数据库加载,现在我需要在每次从下拉菜单中选择不同选项时更改属性。

为了达到这个目的,我试图在我看来使用适合做这项工作的js但不幸的是我发现它很难并且无法提出正确的解决方案,实际上我不知道如何启动它。

这是我的动态生成下拉菜单的PHP代码:

$opt = '<select id="Forex" name="" style="display: none">';
            $opt1 = '<option value="">Select Forex Workshop</option>';
                $opt2 = '';
                while($result = mysqli_fetch_assoc($query)){
                    if($timestamp < $result['endingDate']){
                    $opt2 .= '<option id="'.$result['id'].'" value="'.$result['startingDate'].'">'.$result['course'].'</option>';   
                    }
                }

                $opt3 =  '</select>';
                return $opt.$opt1.$opt2.$opt3;

有人可以建议一个解决方案至少给我一个链接到一篇涵盖这个问题的文章

3 个答案:

答案 0 :(得分:2)

您可以添加“onchange”事件并随意更改名称:

$('#Forex').change(function(){
    var val = $(this).val(); // you can get the value of selected option

    //you can process your conditions here

    $(this).attr('name', 'your_choice_name'); // this will change the name attribute
});

或者您可以通过javascript

执行此操作
<select id="Forex" name="abc" onchange="changeAttr(this);">
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
</select>


<script type="text/javascript">
function changeAttr(ele)
{
    var val = ele.value;
    var n = "";

    if(val == 1){
        n = 'xyz';
    } else if(val == 2){
        n = 'abc';
    }
    ele.setAttribute('name', n);
}
</script>

希望这能帮到你想要的......

答案 1 :(得分:0)

使用jquery,“onChange”事件将使用列表中的所选项目更改所需的属性。

jQuery get value of select onChange

答案 2 :(得分:0)

开平! 不确定我是否理解你,但你可以使用jQuery来操作change事件的属性。 对于活动http://api.jquery.com/change/ 要更改属性http://api.jquery.com/attr/