2017-07-12 75 views
1

我有2個選擇框。一個有屬性「data-typdv」。我需要從當前所選選項的屬性中獲取編號,並在第二個下拉列表中選擇相同的值。我無法在最近幾天得到它的工作。有人可以幫助我,我做錯了什麼?謝謝。通過jQuery另一選擇的attributte選擇選項

$(document).ready(function() { 
 
    $("#x1_field_skrinka").change(function() { 
 
     var myvalue = $("#x1_field_skrinka option:selected").attr('data-typdv')), 
 
    var n2 = document.getElementById('x1_typdv2'); n2.value = myvalue.value; 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Get "data-typdv" attribute from this: <br> 
 
<select id="box1" name="box1"> 
 
\t \t \t \t <option value="a" data-typdv="0"></option> 
 
\t \t \t \t <option value="b" data-typdv="1">Val 1</option> 
 
\t \t \t \t <option value="c" data-typdv="2">Val 2</option> 
 
\t \t \t \t <option value="d" data-typdv="3">Val 3</option> 
 
\t \t \t \t <option value="e" data-typdv="4">Val 4</option> 
 
\t \t \t \t <option value="f" data-typdv="5">Val 5</option> 
 
\t \t \t \t <option value="g" data-typdv="6">Val 6</option> 
 
</select> 
 
<br> and select value with the same number here: 
 
<br> 
 
<select id="box2" name="box2"> 
 
\t \t \t \t <option value="0"></option> 
 
\t \t \t \t <option value="1">Val 1</option> 
 
\t \t \t \t <option value="2">Val 2</option> 
 
\t \t \t \t <option value="3">Val 3</option> 
 
\t \t \t \t <option value="4">Val 4</option> 
 
\t \t \t \t <option value="5">Val 5</option> 
 
\t \t \t \t <option value="6">Val 6</option> 
 
    </select>

回答

0

只需使用n2.value = myvalue的這normaly工作,因爲myvalue的已經是ATTR '數據typdv'

0
  1. 的值檢查ID
  2. 使用$("option:selected",this)以獲得選定的選項

$(document).ready(function() { 
 
    $("#box1").change(function() {// put the correct ID 
 
     var myvalue = $("option:selected", this).attr('data-typdv') 
 
    $("#box2").val(myvalue)// put the correct ID 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Get "data-typdv" attribute from this: <br> 
 
<select id="box1" name="box1"> 
 
\t \t \t \t <option value="a" data-typdv="0"></option> 
 
\t \t \t \t <option value="b" data-typdv="1">Val 1</option> 
 
\t \t \t \t <option value="c" data-typdv="2">Val 2</option> 
 
\t \t \t \t <option value="d" data-typdv="3">Val 3</option> 
 
\t \t \t \t <option value="e" data-typdv="4">Val 4</option> 
 
\t \t \t \t <option value="f" data-typdv="5">Val 5</option> 
 
\t \t \t \t <option value="g" data-typdv="6">Val 6</option> 
 
</select> 
 
<br> and select value with the same number here: 
 
<br> 
 
<select id="box2" name="box2"> 
 
\t \t \t \t <option value="0"></option> 
 
\t \t \t \t <option value="1">Val 1</option> 
 
\t \t \t \t <option value="2">Val 2</option> 
 
\t \t \t \t <option value="3">Val 3</option> 
 
\t \t \t \t <option value="4">Val 4</option> 
 
\t \t \t \t <option value="5">Val 5</option> 
 
\t \t \t \t <option value="6">Val 6</option> 
 
    </select>

0

$(document).ready(function() { 
 
    $("#box1").change(function() { 
 
     var myvalue = $("#box1 option:selected").attr('data-typdv'); 
 
     $("#box2").val(myvalue); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Get "data-typdv" attribute from this: <br> 
 
<select id="box1" name="box1"> 
 
\t \t \t \t <option value="a" data-typdv="0"></option> 
 
\t \t \t \t <option value="b" data-typdv="1">Val 1</option> 
 
\t \t \t \t <option value="c" data-typdv="2">Val 2</option> 
 
\t \t \t \t <option value="d" data-typdv="3">Val 3</option> 
 
\t \t \t \t <option value="e" data-typdv="4">Val 4</option> 
 
\t \t \t \t <option value="f" data-typdv="5">Val 5</option> 
 
\t \t \t \t <option value="g" data-typdv="6">Val 6</option> 
 
</select> 
 
<br> and select value with the same number here: 
 
<br> 
 
<select id="box2" name="box2"> 
 
\t \t \t \t <option value="0"></option> 
 
\t \t \t \t <option value="1">Val 1</option> 
 
\t \t \t \t <option value="2">Val 2</option> 
 
\t \t \t \t <option value="3">Val 3</option> 
 
\t \t \t \t <option value="4">Val 4</option> 
 
\t \t \t \t <option value="5">Val 5</option> 
 
\t \t \t \t <option value="6">Val 6</option> 
 
</select>

0

就從這裏.attr('data-typdv')) 改變ID #x1_field_skrinka#BOX1和刪除多餘的),並與$("#box2").val(myvalue);

0取代

$(document).ready(function() { 
 
    $("#box1").change(function() { 
 
     var myvalue = $("#box1 option:selected").attr('data-typdv'); 
 
    $("#box2").val(myvalue); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Get "data-typdv" attribute from this: <br> 
 
<select id="box1" name="box1"> 
 
\t \t \t \t <option value="a" data-typdv="0"></option> 
 
\t \t \t \t <option value="b" data-typdv="1">Val 1</option> 
 
\t \t \t \t <option value="c" data-typdv="2">Val 2</option> 
 
\t \t \t \t <option value="d" data-typdv="3">Val 3</option> 
 
\t \t \t \t <option value="e" data-typdv="4">Val 4</option> 
 
\t \t \t \t <option value="f" data-typdv="5">Val 5</option> 
 
\t \t \t \t <option value="g" data-typdv="6">Val 6</option> 
 
</select> 
 
<br> and select value with the same number here: 
 
<br> 
 
<select id="box2" name="box2"> 
 
\t \t \t \t <option value="0"></option> 
 
\t \t \t \t <option value="1">Val 1</option> 
 
\t \t \t \t <option value="2">Val 2</option> 
 
\t \t \t \t <option value="3">Val 3</option> 
 
\t \t \t \t <option value="4">Val 4</option> 
 
\t \t \t \t <option value="5">Val 5</option> 
 
\t \t \t \t <option value="6">Val 6</option> 
 
    </select>

0

相反的attr(),使用JQuery data()實現這一目標。

$(document).ready(function() { 
 
    $("#box1").change(function() { 
 
    $("#box2").val($("option:selected", this).data('typdv')) 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Get "data-typdv" attribute from this: <br> 
 
<select id="box1" name="box1"> 
 
<option value="a" data-typdv="0"></option> 
 
<option value="b" data-typdv="1">Val 1</option> 
 
<option value="c" data-typdv="2">Val 2</option> 
 
<option value="d" data-typdv="3">Val 3</option> 
 
<option value="e" data-typdv="4">Val 4</option> 
 
<option value="f" data-typdv="5">Val 5</option> 
 
<option value="g" data-typdv="6">Val 6</option> 
 
</select> 
 
<br> and select value with the same number here: 
 
<br> 
 
<select id="box2" name="box2"> 
 
<option value="0"></option> 
 
<option value="1">Val 1</option> 
 
<option value="2">Val 2</option> 
 
<option value="3">Val 3</option> 
 
<option value="4">Val 4</option> 
 
<option value="5">Val 5</option> 
 
<option value="6">Val 6</option> 
 
</select>

0

能否請您解釋一下你會怎麼做。 要在第一時間拿到選擇現場使用這種

var myvalue = $("#box1 :selected").attr('data-typdv');

有你關聯到所選擇的項目數量所選擇的項目數。 一旦你得到這個,你會怎麼做? 你能解釋更多嗎?