[英]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.