簡體   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