繁体   English   中英

当用户单击该超链接时,如何设置从超链接到jQuery对话框弹出窗口上的隐藏字段的超链接文本的值?

[英]How to set a value of hyperlink text from a hyperlink to a hidden field on a jQuery dialog pop-up when user clicks on that hyperlink?

我在网站上使用PHP,Smarty,jQuery(jquery-1.7.1.min.js),Javascript,AJAX等。 现在,我的网页上存在多个包含不同问题ID的超链接。 例如,我正在显示一个超链接的HTML代码,如下所示:

<a class="que_issue" href="#">QUE38552</a>
<!--There are many other hyperlinks are present on the same page with different question ids.-->

现在,我已经在同一网页上将对话框弹出式窗口的HTML代码设置为style="display:none;" 页面加载时在div 这样做是为了在页面加载时隐藏对话框。 当用户单击任何超链接时,将显示对话框弹出窗口。 此功能的脚本运行正常。 对话框弹出的HTML如下:

<div id="searchPopContent" class="c-popup" style="display:none;">
  <div id="pop-up">
  <div class="error_msg" id="report_error" style="text-align:center; margin-top:5px;">

    </div>
    <div class="clear"></div>
    <form name="question_issue_form" id="question_issue_form" class="login_box" method="post" action="question_issue.php">
      <input type="hidden" name="form_submitted" id="form_submitted" value="yes"/>
      <input type="hidden" name="post_url" id="post_url" value="question_issue.php"/>
      <input type="hidden" name="op" id="op" value="question_issue"/>
      <input type="hidden" name="question_id" id="question_id"/>

      <table class="trnsction_details" width="100%" cellpadding="5">
        <tbody>    
          <tr>
            <td></td>
            <td>
              <input type="checkbox" name = "que_issue[]" value = "Question is wrong" id ="chkQueWrong">Question is wrong</input>
            </td>
          </tr>
          <tr>
            <td></td>
            <td><input type="checkbox" name = "que_issue[]" value = "Answers are wrong" id ="chkAnsWrong">Answers are wrong</input></td> 
          </tr>
          <tr>
            <td></td>
            <td><input type="checkbox" name = "que_issue[]" value = "Question direction is incorrect" id ="chkDirIncorrect">Question direction is incorrecct</input></td>             
          </tr>
          <tr>
            <td></td>
            <td><input type="checkbox" name = "que_issue[]" value = "Other" id ="chkOther">Other</input></td>          
          </tr>
          <tr>
            <td></td>
            <td class="set_message" style="display:none;"><textarea name="que_issue_comment" id = "que_issue_comment" rows="4" cols="25" maxlength="100"></textarea></td>      
          </tr>
          <tr>
            <td></td>
            <td><input type="submit" name="submit" value="Submit" class="report_question_issue" class="buttonin"/></td>
          </tr>
        </tbody>
      </table>
    </form>
  </div>
</div>

现在我的问题是我无法在对话框弹出窗口中将单击的问题ID的值设置为隐藏字段(具有id =“ question_id” )。 我尝试按照以下脚本进行操作,但没有成功。 以下是我尝试过的Javascript代码:

$(document).on("click","a[class='que_issue']", function (e) {
var x = this.innerHTML;
  var str = x.substring(3);
document.getElementById("question_id").value = str;
});

以下是我尝试过的jQuery代码:

$('.que_issue').click(function(e){
 e.preventDefault();
 $('#question_id').val($.trim($(this).text()).substring(3));
});

上面的两个代码都不适合我。 但是当我删除line style="display:none;" 从对话框弹出窗口的div ,对话框弹出窗口显示在页面底部,当我单击特定的问题ID时,问题ID也会被设置为页面底部显示的表单的隐藏字段。 但是,对话框上的隐藏字段仍未设置该值。 在尝试了所有可能的事情并进行谷歌搜索之后,我完全一无所知。 有人可以在这方面帮助我吗? 非常感谢您花费宝贵的时间并理解我的问题。 再次感谢。 如果您需要有关我的问题的更多信息,我可以为您提供同样的信息。

设置ID之前,请将其传递给var。

如果要添加value属性,请使用:

$('.que_issue').click(function(e){
    e.preventDefault();
    $('#question_id').prop("value", $.trim($(this).text()).substring(3));
    console.log($.trim($(this).text()).substring(3));
    console.log($('#question_id').val());
});

检查控制台,确保该值被打印两次。 小提琴

暂无
暂无

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

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