JQUERY / JAVASCRIPT - 需要使用JavaScript代码从jquery对话框中的<select>获取值</select>

时间:2012-08-23 10:22:26

标签: javascript jquery html jquery-dialog

我有一个基于JQUERY的对话框,上面有一个'select'。当我单击按钮时,我需要获取选择选项值。

这是我的JavaScript代码:

            $( "#dialog-select" ).dialog({
                resizable: true,
                height:250,
                width:450,
                modal: true,
                buttons: {
                    "Ok": function() {

                        var priority = $('#dialog-select')
                        .find('select[name="priority"]');
                        var priorityString = JSON.stringify(priority);

                        alert('priorityString : ' + priorityString);

                        $( this ).dialog( "close" );
                        return true;                        
                    },
                    Cancel: function() {
                        $( this ).dialog( "close" );
                        return false;
                    }
                }
            });

对话框的HTML是用JavaScript编写的。这是:

            $('#dialog-select').html('<p><span>Please select</span></p>'+
                            '<table>'+
                                '<tbody>'+
                                    '<tr>'+
                                        '<td align="left"><font size="1" color="red">*</font></td>'+
                                        '<td align="left"><label>New Priority</label></td>'+
                                        '<td>'+
                                            '<select name="priority">'+
                                                '<option value = "default">Please select...</option>'+
                                                '<option value = "h">High</option>'+
                                                '<option value = "m">Medium</option>'+
                                                '<option value = "l">Low</option>'+
                                            '</select>'+
                                        '</td>'+
                                    '</tr>'+
                                '</tbody>'+
                            '</table>'+
                            '<br/>');   

我上面所做的不起作用,请帮助:)

2 个答案:

答案 0 :(得分:4)

使用$("#element").val()作为所选选项的,或使用$("#element option:selected").text()获取所选选项的名称/文字

答案 1 :(得分:1)

由于(在您的页面上,给定特定的html)您只能通过其Name识别选择(无需遍历DOM),最快的解决方案是:

 var selectedvalue =    $('select[name="priority"]').val();

我建议在下拉列表中添加一个ID,这将是一个更有效的搜索。但除非你的页面很大,否则几乎不会引起注意,所以它更像是一种“良好实践原则”。

请注意: 我使用'用于jQuery选择器字符串,并且“用于选择器中的名称值。您可以反过来使用它们,但它们必须是不同的