获取下拉列表特定选定值并显示确认框

时间:2013-10-24 10:37:21

标签: javascript jquery mysql smarty

我有成员状态选择框,因为我有打开,读取,关闭选项在那里。所以当我选择打开或阅读并单击更新按钮时它会更新某些东西。我正在选择关闭它显示对话框(你确定要关闭这个)如果它是去某个页面或没有页面。(我想显示只有特定值的框(仅限22)。 任何人都帮助这个(js或jquery)。这是一个聪明的应用程序

这是我的代码

<html>
<head> 
    <script type="text/javascript"> 
        function showClose() { 
            var val = document.getElementById('sel_state').value; 
            if (val == '22') { 
                var state = confirm("Are you sure want to change member status??"); 
                if (state == true) { 
                    alert('yes'); 
                } else { 
                    alert('no'); 
                } 
            } else { 
                alert('no'); 
            } 
        } 
    </script> 
</head>
<body> 
<form method="post" action="/admin/member-modify-{$member->id}">
    <label>Member state</label>    
    <select name="sel_state" class="validate" id="sel_state"> 
        <option value=1>open</option> 
        <option value=2>read</option> 
        <option value=22>close</option> 
    </select> 
    <input name="submit" value="Validate" id="member_state_submit" type="submit" class="submit" Onclick="showClose();" /> 
</form> 
</body> 
</html> 

2 个答案:

答案 0 :(得分:1)

您所要做的就是将JS代码包装在{literal}{/literal}标签中,如下所示:

{literal}
<script type="text/javascript"> 
    function showClose() { 
        var val = document.getElementById('sel_state').value; 
        if (val=='22') { 
            var state = confirm ("Are you sure want to change member status??");
            if (state == true) { 
                alert('yes'); 
            } else { 
                alert('no'); 
            } 
        } else { 
            alert('no'); 
        } 
    } 
</script>
{/literal}

在Smarty中,{literal}{/literal}标记内的任何内容都不会被解释,而是按原样显示。这样可以避免干扰模板分隔符语法。查看documentation

答案 1 :(得分:0)

使用jquery

这很简单
var value = $('#selector').text()
if (value == 22){
   //do something here
}