繁体   English   中英

使用表头(th)将HTML表数据(td)(即文本或val)获取到Textarea中

[英]Getting HTML table data (td) (i.e. text or val) using table header (th) into Textarea

我有SQLite3(即Spatialite查询),将结果输出到HTML表中。 我想获取AsText(Geometry)数据以在<textarea>输出

这是table和一些假设。

<table>
    <tr>
         <th>name</th>
         <th>AsText(Geometry))</th>
    </tr>
    <tr>
         <td>Andres Street</td>
         <td>LINESTRING(7.120068 43.583917,7.120154 43.583652,7.120385 
          43.582716,7.12039 43.582568,7.120712 43.581511,7.120873 43.580718)</td>
    </tr>
</table>


$('#wktInput').click(function(){

???
???

     var asTextGeometryText =

    $("#wktResult").text(asTextGeometryText);
});




<textarea name='wktResult' value ='wktResult' ROWS="10" COLS="50" >'Should Display AsText(Geometry Column here!'</textarea> 

这是DOM

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    var fieldNames = aResult.fieldNames;
    var records = aResult.data;
    var numFields = fieldNames.length;
    var numRecords = records.length;
    var container = document.getElementById('queryResults');
    container.innerHTML = '';
    var table = document.createElement('table');
    container.appendChild(table);
    var headerRow = document.createElement('tr');
   table.appendChild(headerRow);
    for(var i = 0; i < numFields; i++){
        var header = document.createElement('th');
        header.innerText = fieldNames[i];
        headerRow.appendChild(header);
    }

    for(var i = 0; i < numRecords; i++){
        var tableRow =  document.createElement('tr');
        table.appendChild(tableRow);

        for(var j = 0; j < numFields; j++){
            var tableData = document.createElement('td');
            tableRow.appendChild(tableData);
            tableData.innerText = records[i][j];
        }
    }
}

<input id='SQLinput' size="90" rows="3" value = 'SELECT name, AsText(Geometry) FROM Roads Where MbrContains(Geometry, MakePoint(7.120872,43.580722,4326))'></input>

<input type='button' class='button' value='Display AsText' ontouchend='wktAsTextInput'/>

提前致谢

似乎texarea使用id作为值。

<textarea id="field1">example text</textarea> [此问题也与jQuery中的textarea有关] [1]

下面的示例演示了jquery在使用id的textarea中不起作用。

    <script type="text/javascript">
$(function() {
    $('button').click(function() {
        var row = $('input:first').val();
        var column = $('input:eq(1)').val();
        var cell = $('table tr:eq('+row+') td:eq('+column+')');
        if (cell.length == 0) {
            $('#value').text('Undefined');
        }
        else {
            $('#value').text(cell.text());
        }
    });
});
</script>
</head>

<body>
<h1>Table Cell Value</h1>
<table>
    <tr><td>Cell 1-1</td><td>Cell 1-2</td><td>Cell 1-3</td></tr>
    <tr><td>Cell 2-1</td><td>Cell 2-2</td><td>Cell 2-3</td></tr>
    <tr><td>Cell 3-1</td><td>Cell 3-2</td><td>Cell 3-3</td></tr>
</table>

Row: <input type="text" value="0">
Column: <input type="text" value="0">
Value: <span id="value">?</span><br>
Textarea: <textarea id="value" >Try this! this is not working</textarea>
<button>Get Value</button>

在此示例中,所有人都在工作。 然后添加一个textarea,以查看是否可以正常工作。 Textarea在此示例中不起作用。 使用id和名称的jquery和textarea出了点问题。

Textarea: <textarea name="value" >Try this! this is not work as well</textarea>

这怎么不起作用。

有关此textarea值的新信息。

$('#id_of_textarea').attr('value'); //to get and...
$('#id_of_textarea').attr('value','updated value of textarea'); //to set it...

<textarea id="editor_desc" onkeyup="update_textarea(this)"></textarea>

function update_textarea(obj)
{
    $('#mydiv').text($(obj).attr('value')); //whatever you type in the textarea would be reflected in #mydiv

}

http://blog.ekini.net/2009/02/24/jquery-getting-the-latest-textvalue-inside-a-textarea/

看来我的问题不是渲染常规的html平板电脑,而是直接渲染到屏幕。

QuickConnect的作者说对我说,

如果想要这些值之一以便可以使用它,则需要将其拉出2D数组。

您的意思是在文本区域的AsText(Geometry)列中显示内容吗?

var text = []
$('table').find('tr:has(td)').each(function(){
    text.push($.trim($(this).find('td:eq(1)').html()));
})
// and you set it to your textarea
$('textarea[name="wktResult"]').val(text.join('\n'));

1-为您的textarea分配一个id属性,以便在jquery中使用它;如果您的页面仅包含一个textarea,则可以使用标记名称insteasd。

2-要获取textarea的文本,您只需调用不带任何参数的text函数

$('#wktInput').click(function(){
     var asTextGeometryText =$('table').find('th').eq(2).text();
     $('#id_of_textarea').attr('value',asTextGeometryText);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM