3 に答える
3
<a href="#" id="openpop" countries="US,CA">link</a>
<select id="countryselection" multiple="multiple">
<option>US</option>
<option>CA</option>
<option>GB</option>
</select>
//The event handler
$("#openpop").click(function(e){
e.preventDefault();
var vals = $(this).attr('countries').split(",");
$("#countryselection").val(vals);
});
国属性を追加することは、対象とする html 仕様によってはある程度有効ですが、リンク タグの「国」などの情報にはデータ属性を使用する必要があります。同じ方法でアクセスできます。
$(selector).attr('data-countries');
<a href="#" id="openpop" data-countries="US,CA">link</a>
于 2012-04-27T02:07:40.933 に答える
0
次の属性があるとしますdata-countries="US, CA"
。<a href="#" id="openpop" data-countries="US, CA"> ... </a>
この方法で、これから配列を作成できます。
con = $("a").data('countries');
arr = con.split(",");
alert(arr[0])
于 2012-04-27T02:02:15.840 に答える
0
属性を使用して構造化データを保存しようとしている理由は不明ですが、次のように国属性を定義することが許可されている場合:
<a href="#" id="openpop" countries="US,CA">
Javascript のsplit関数を使用して配列に変換できます。例えば:
("#countryselection").val($(this).attr("countries").split(/,/));
元の行の問題:
("#countryselection").val([$(this).attr("countries")]);
...これは、Javascript が属性の実際の文字列値を取得し、$(this).attr("countries")
それを無名配列の唯一の要素として使用して、val()
. この属性の値は配列構文のように見えますが、そのように解析されないことに注意してください。テキスト エディタに入力した Javascript ソース (または への文字列引数eval()
) のみが解釈されます。
于 2012-04-27T02:03:10.910 に答える