0

jQuery/jQuery Mobile を使用して、実行時にラジオボタン、チェックボックス、およびリスト スタイルをチェック/選択する際に問題があります。

基本的に、チェックボックス、ラジオボタン、選択メニューのリストがあり、データベースから値を取得し、チェックボックス/ラジオボタングループまたは選択メニューから正しい項目を選択/チェックします。

これは私が試したものの簡単なセットアップですが、うまくいきませんでした。

HTML:

<fieldset data-role="controlgroup">     
  <input type="radio" name="option_radio" id="option_radio_1" value="1" />
  <label for="option_radio_1">Option 1</label>  
  <input type="radio" name="option_radio" id="option_radio_2" value="2" />
  <label for="option_radio_2">Option 2</label>
</fieldset>

<fieldset data-role="controlgroup">     
  <input type="checkbox" name="option_checkbox" id="option_checkbox_1" value="1" />
  <label for="option_checkbox_1">Option 1</label>   
  <input type="checkbox" name="option_checkbox2" id="option_checkbox_2" value="2" />
  <label for="option_checkbox_2">Option 2</label>   
  <input type="checkbox" name="option_checkbox3" id="option_checkbox_3" value="3" />
  <label for="option_checkbox_3">Option 3</label>
</fieldset>

<select name="option_list" id="option_list">
  <option value="20">20</option>
  <option value="30">30</option>
  <option value="40">40</option>
  <option value="50">50</option>
  <option value="60">60</option>
  <option value="70">70</option>
</select> 

JS:

$("#option_checkbox_1").val(option_id); 
$("#option_list").val(optionlist_id);
$('input:radio[name=gender]:checked').val(gender_id);

私が試したのは、データベースの値 (例 1/2/3/4 など) をデータベースから要素に直接渡すことです。

これを正確に行う方法を誰かに教えてもらえますか?

4

4 に答える 4

3

それをチェックするか、値を与えるには:

$('#option_checkbox_1').attr('checked', 'checked');
$('input:radio[id=option_radio_1]').attr('checked', 'checked');
$("#option_list").val(50);

チェックを外す(属性を完全に削除する)場合は、

$('#option_checkbox_1').removeAttr('checked');
$('input:radio[name=gender]:checked').removeAttr('checked');

これがあなたが望むものだと思います

$('#option_checkbox_'+option_id).attr('checked', 'checked');
$('input:radio[id='+gender_id+']').attr('checked', 'checked');
$("#option_list").val(optionlist_id);
于 2012-12-29T16:42:52.040 に答える
1

input特定の値を持つ要素を選択するには:

$('input[value=' + valueFromDatabase + ']');

次に、その要素をチェック/選択するには:

$('input[value=' + valueFromDatabase + ']').prop('checked', true);

:radioもちろん、これは他のセレクター ( 、 または など:checkbox)と組み合わせることができます。

$('input:radio[value=' + valueFromDatabase + ']').prop('checked', true);

ただし、データベースからの値に空白が含まている場合は、値をセレクターで引用符で囲み、次のようにする必要があります。

$('input[value="' + valueFromDatabase + '"]');

( "`valueFromDatabase を囲む文字に注意してください。)

于 2012-12-29T16:51:54.500 に答える
1

$("#option_checkbox_1").val(option_id);

これは要素に値を割り当てるために使用されます。

Element with attribute value selector要素を見つけることができます。

var valueFromDB = "1";
$("input[type='radio']['"+valueFromDB+"']").attr("checked","true");
$("input[type="checkbox"]['"+valueFromDB+"']").attr("checked","true");
$("#option_list option[value="20"]").attr("selected","true");

もう一つのポイント。

id要素に対して一意です。id複数の要素には使用できません。

于 2012-12-29T16:48:04.047 に答える
0

そのJSは要素の値を設定しますが、それらをチェックしません。やりたいことは、if ステートメントを使用して、ラジオ/チェックボックス/選択の値が、データベースから取得している文字列の値と一致するかどうかを確認することです。そうであれば、そのように属性をチェック/選択するように設定したい

// checkboxes/radios
$(this).attr('checked','checked')

// options
$(this).attr('selected','selected')

$(this) = 入力またはオプション

于 2012-12-29T16:45:35.280 に答える