【问题标题】:JQUERY / JAVASCRIPT - Need to get value from <Select> on jquery dialog using JavaScript codeJQUERY / JAVASCRIPT - 需要使用 JavaScript 代码从 jquery 对话框上的 <Select> 获取值
【发布时间】:2012-08-23 18:36:44
【问题描述】:

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

这是我的 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/>');   

我上面做的没有用,请帮忙:)

【问题讨论】:

  • 如果您需要比我下面的答案更具体的帮助,您应该创建一个 jsfiddle 供我们使用,这样会更容易。

标签: javascript jquery html jquery-dialog


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多