如何将选定项目从多级列表复制到文本框

时间:2011-08-23 13:55:05

标签: javascript jquery html

我正在创建一个在Jquery和HTML中创建的小故障排除指南。当用户选择一个步骤时,这将设计为下一步尝试从流程图样式中的下一步。

我想添加一个选择按钮,以便用户完成故障排除后,他们应该能够自动将所有选定的项目复制到文本框中。任何人都可以帮我一个代码,它将从流程中选择所有用户选择的项目,并将其粘贴/填充到文本框中。

请查找我用于故障排除指南的代码。任何帮助将高度赞赏..提前感谢..

$('document').ready(function(){
var count = 0; 
$('#questions').hide(); 
$('#answers').hide(); 
$('#questions tr:nth-child(2)').attr('id','currow');     
var q1 = $('#currow td:nth-child(2)').html();
var q3 = '<div id="d' + count + '"><p>' + q1 + '</p>' ; 
var a1 =  $('#currow td:nth-child(3)').html();
var r1 = q3 + a1 +'</div>';
$('#showquestion').html(r1);

$('li').live('click',function(){
    $(this).addClass('selected').siblings().removeClass('selected'); 
    var target = $(this).attr('id');
    var parid = $(this).parent().parent().attr('id');
    var parnum = parseInt(parid.slice(1,3)); 
    count = count + 1;
    var ps = $('#showquestion div').length; 
    $('#showquestion div').each(function() { 
        var divid = $(this).attr('id'); 
        var divnum = parseInt(divid.slice(1,3));
        if(divnum > parnum) 
            $(this).remove()
        }) 
    $('td' ).each(function(){
        var qnum = $(this).text(); 
        if(qnum == target) {
            var q = $(this).next('td').html();
            var q2 = '<div  id="d' + count + ' "><p>' + q + '</p>'; 
            var a = $(this).next('td').next('td').html();
            var qs = $('#showquestion').html();
            var r = qs + q2 + a +'</div>'; 
            $('#showquestion').html(r);
            window.scrollBy(0,400); 
            }
        })
    })
})

<div class="luiTitle"><a href="http://google.com" style=" text-decoration:none;          color:#bbb">Support System </a></div>

<div id="showquestion" class="answers"></div>

<p><a href="TEST1.HTML"title="To my second webpage">Click here to go back to Selection   Page</a></p>

<table width="50%" border="0" cellspacing="1" cellpadding="2" id="questions" >
<tr>
<td>No</td>
<td>Question/Heading </td>
<td>Answers </td>
</tr>

<tr>
<td>1</td>
<td>Question 1</td>
<td><ul>
  <li id="2">Option 1</li>
  <li id="3">Option 2</li>
  <li id="4">Option 3</li>

</ul></td>
</tr>
<tr>
<td>2</td>
<td>Level 2 - from question 1 Option 1</td>
<td><ul>
  <li id="5">Option 1</li>
  <li id="6">Option 2</li>

</ul></td>
</tr>
<tr>
<td>3</td>
<td>Level 2 - from question 1 - no</td>
<td><ul>
  <li id="9">Option 1</li>
  <li id="10">Option 2</li>
  <li id="6">Option 3</li>
  <li id="7">Option 4</li>
</ul></td>
</tr>
<tr>
<td>4</td>
<td>Level 3 - from level 2 option 1</td>
<td><ul>
  <li id="11">Option 1</li>
  <li id="12">Option 2</li>
  <li id="13">Option 3</li>
<li id="13">Option 4</li>
</ul></td>
</tr>

1 个答案:

答案 0 :(得分:0)

document是一个对象,当您说$('document')时,jQuery会尝试在页面上查找document标记。将其更改为$(document).ready()并尝试使用。

此行中的

var parid = $(this).parent().parent().attr('id'); this指向li元素,而parent的{​​{1}}将指向parent,其中没有任何ID ,因此td将始终为null或为空。