0
我有此功能Jquery的功能單引號忽略
function getTextfieldonly(fieldName, id) {
var option = jQuery('#'+fieldName+'_textfield').val();
if (option != "") {
$('.'+fieldName+'_ul').append('<li class="'+fieldName+'_item">'+option+'<span onclick="removeSelected($(this),'+fieldName+')" class="reLef buttonleistungspktr '+fieldName+'_button2"></span></li>');
$('#'+fieldName+'_list').prepend('<option selected="selected" value="'+option+'">'+option+'</option>');
}else {return false}
};
在第4行i'm附加與跨度的立內部
.append('<li class="'+fieldName+'_item">'+option+'<span onclick="removeSelected($(this),'+fieldName+')" class="reLef buttonleistungspktr '+fieldName+'_button2"></span></li>');
如果fieldName參數是例如「foo」的
我想附加跨度內的onclick看起來像
onclick="removeSelected($(this),'foo')"
個
但it's呈現像
onclick="removeSelected($(this),foo)"
那麼,做了singlequotes去了? 我需要他們在那裏,我不知道如何。
任何人都有想法?在此先感謝
更好的替代方法是使用jQuery處理程序綁定,而不是使用內聯事件處理程序。 *單引號去哪兒*:從來沒有單引號。在'[...],'+ fieldName +')「[...]'中,單引號表示您預先添加的字符串文本並附加到'fieldName'。 – 2013-02-26 11:36:45
您應該避免編寫內聯javascript。問題非常糟糕,開始添加技術來強制瀏覽器拒絕它http://www.w3.org/TR/CSP/ – fmsf 2013-02-26 11:38:48
感謝您的建議,解決此問題的另一種方法是更新div帶有ajax和控制器代碼位的內容,並且在div中有一個就緒函數(click(function(){eventhandlinghere}) – 2013-02-26 11:54:33