文法的にdivに配置される文字列を作成しています。私は入力チェックボックスのonclick
属性を呼び出して、ちょっとした問題を抱えようとしています。私は各チェックボックスのクリックで一意のIDを渡そうとしています。以下のコードは私が使っているものです。問題については、以下を参照してください:javascriptによる入力チェックボックス付きhtml出力の作成
var count = 1;
$.each(JSON.parse(data.d), function (k, v) {
var searchName = v.searchName;
resultString += "<div class='row form-group'>";
resultString += "<div class='col-sm-1 right-content'><input type='checkbox' onclick = 'authorCheckboxclick(this)' id='" + searchName + "'></div>";
resultString += "<div class='col-sm-11'>";
resultString += "<span>";
//resultString += v.text
resultString += count + ". " + v.text
resultString += "</span>";
resultString += "<br />";
resultString += "<span>";
//resultString += "Consectetur adipisicing, Consequatur, 2015.";
resultString += "</span>";
resultString += "</div>";
resultString += "</div>";
//resultString += "<br><br>";
count++;
});
authorCheckboxclick
機能では、私はvar answerid = $(this).attr('id');
を置く場合、私は未定義得ます。
function authorCheckboxclick(elem) {
var answerid = $(this).attr('id');
alert(answerid); //I get undefined
var answerid = $(this).attr(elem.id);
alert(answerid); //I get undefined
var answerid = $(this).attr(elem.id);
alert(answerid); //I get undefined
var searchTerm = elem.id;
alert(searchTerm); //I get proper value
searchTerm = searchTerm.substring(0, 3);
alert(searchTerm); //I get proper value
var answerid = $(this).attr(elem.id);
alert(answerid); //I get undefined
var search = searchTerm.toUpperCase();
var array = jQuery.grep(dataMembers, function (value) {
return value.toUpperCase().indexOf(search) >= 0;
});
私のjQuery呼び出しがうまく機能せず、JavaScriptが有効な理由はありますか? id値を接合部に送るのがベストプラクティスですか?私はオレンジとリンゴを混合していますか?どの方法がより速く表示されますか?
可能な複製([jQueryの$(この).ATTR( "ID")動作していない] http://stackoverflow.com/questions/3341342/jquery-this-attrid-not-working ) –
ありがとうございます - それは良い方法がありますか? – user1314159